Bash Reference Manual. Node: Looping Constructs

PREVLists UPShell Commands NEXTConditional Constructs

3.2.4: Looping Constructs

Bash supports the following looping constructs.

Note that wherever you see a `;' in the description of a command's syntax, it may be replaced with one or more newlines.

until

The syntax of the until command is:

until test-commands; do consequent-commands; done

Execute consequent-commands as long as test-commands has an exit status which is not zero. The return status is the exit status of the last command executed in consequent-commands, or zero if none was executed.

while

The syntax of the while command is:

while test-commands; do consequent-commands; done

Execute consequent-commands as long as test-commands has an exit status of zero. The return status is the exit status of the last command executed in consequent-commands, or zero if none was executed.

for

The syntax of the for command is:

for name [in words ...]; do commands; done

Expand words, and execute commands once for each member in the resultant list, with name bound to the current member. If `in words' is not present, `in "$@"' is assumed. The return status is the exit status of the last command that executes. If there are no items in the expansion of words, no commands are executed, and the return status is zero.

The break and continue builtins (see Bourne Shell Builtins) may be used to control loop execution.

PREVLists UPShell Commands NEXTConditional Constructs