Many of zsh’s complex commands have alternate forms. These are non-standard and are likely not to be obvious even to seasoned shell programmers; they should not be used anywhere that portability of shell code is a concern.
The short versions below only work if sublist is of the form ‘{
list }’ or if the SHORT_LOOPS option is set. For the if,
while and until commands, in both these cases the test part of the
loop must also be suitably delimited, such as by ‘[[ ... ]]’ or
‘(( ... ))’,
else the end of the test will not be recognized. For the
for, repeat, case and select commands no such special form
for the arguments is necessary, but the other condition (the special form
of sublist or use of the SHORT_LOOPS option) still applies.
The SHORT_REPEAT option is available to enable the short version only
for the repeat command.
if list { list } [ elif list { list } ] ... [ else { list } ]An alternate form of if. The rules mean that
if [[ -o ignorebraces ]] {
print yes
}
works, but
if true { # Does not work!
print yes
}
does not, since the test is not suitably delimited.
if list sublistA short form of the alternate if. The same limitations on the form of
list apply as for the previous form.
for name ... ( word ... ) sublistA short form of for.
for name ... [ in word ... ] term sublistwhere term is at least one newline or ;.
Another short form of for.
for (( [expr1] ; [expr2] ; [expr3] )) sublistA short form of the arithmetic for command.
foreach name ... ( word ... ) list endAnother form of for.
while list { list }An alternative form of while. Note the limitations on the form of
list mentioned above.
until list { list }An alternative form of until. Note the limitations on the form of
list mentioned above.
repeat word sublistThis is a short form of repeat.
case word { [ [(] pattern [ | pattern ] ... ) list (;;|;&|;|) ] ... }An alternative form of case.
select name [ in word ... term ] sublistwhere term is at least one newline or ;.
A short form of select.
function word ... [ () ] [ term ] sublistThis is a short form of function.