There are several issues in complex commands descriptions.
There is no mention of a terminator after list. It's better to rewrite command description as:
if list term then list term [ elif list term then list term ] ... [ else list term ] fi
The if list is executed, and if it returns a zero exit status, the then list is executed. Otherwise, the elif list is executed
and if its status is zero, the then list is executed. If each elif list returns nonzero status, the else list is executed.
for command
for name ... [ in word ... ] term do list done
Expand the list of words, and set the parameter name to each of them in turn, executing list each time. If the `in word' is
omitted, use the positional parameters instead of the words.
The term consists of one or more newline or ; which terminate the words, and are optional when the `in word' is omitted.
More than one parameter name can appear before the list of words. If N names are given, then on each execution of the loop the
next N words are assigned to the corresponding parameters. If there are more names than remaining words, the remaining parame‐
ters are each set to the empty string. Execution of the loop ends when there is no remaining word to assign to the first name.
It is only possible for in to appear as the first name in the list, else it will be treated as marking the end of the list.
It's better to write at my glance:
for name ... [ in word ... ] term do list term done
Expand the list of words, and set the parameter name to each of them in turn, executing list each time. If the `in word' is
omitted, use the positional parameters instead of the words.
The term consists of one or more newline or ; which terminate the words, and are optional when the `in word' is omitted.
More than one parameter name can appear before the list of words. If N names are given, then on each execution of the loop the
next N words are assigned to the corresponding parameters. If there are more names than remaining words, the remaining parame‐
ters are each set to the empty string. Execution of the loop ends when there is no remaining word to assign to the first name.
It is only possible for in to appear as the first name in the list, else it will be treated as marking the end of the list.
The same issues applies for:
- for (second form)
- while
- until
- repeat
--
# Best regards, Emily Grace Seville.
[contacts]
phone = "+79247259451"