| .. index:: | |
| single: for (command) | |
| for command | |
| =========== | |
| Synopsis | |
| -------- | |
| :: | |
| for <variable> in <items>; do <commands>; done | |
| Description | |
| ----------- | |
| The for command is used to loop over a list of values and execute a series of | |
| commands for each of these. | |
| The counter variable of the loop is a shell variable. Please, keep in mind that | |
| an environment variable takes precedence over a shell variable of the same name. | |
| variable | |
| name of the counter variable | |
| items | |
| space separated item list | |
| commands | |
| commands to execute | |
| Example | |
| ------- | |
| :: | |
| => setenv c | |
| => for c in 1 2 3; do echo item ${c}; done | |
| item 1 | |
| item 2 | |
| item 3 | |
| => echo ${c} | |
| 3 | |
| => setenv c x | |
| => for c in 1 2 3; do echo item ${c}; done | |
| item x | |
| item x | |
| item x | |
| => | |
| The first line ensures that there is no environment variable *c*. Hence in the | |
| first loop the shell variable *c* is printed. | |
| After defining an environment variable of name *c* it takes precedence over the | |
| shell variable and the environment variable is printed. | |
| Return value | |
| ------------ | |
| The return value $? after the done statement is the return value of the last | |
| statement executed in the loop. | |
| :: | |
| => for i in true false; do ${i}; done; echo $? | |
| 1 | |
| => for i in false true; do ${i}; done; echo $? | |
| 0 |