Pipelines Shell Commands Looping Constructs
A list
is a sequence of one or more pipelines separated by one
of the operators `;
', `&
', `&&
', or `||
',
and optionally terminated by one of `;
', `&
', or a
newline
.
Of these list operators, `&&
' and `||
'
have equal precedence, followed by `;
' and `&
',
which have equal precedence.
If a command is terminated by the control operator `&
',
the shell executes the command asynchronously in a subshell.
This is known as executing the command in the background.
The shell does not wait for the command to finish, and the return
status is 0 (true).
The standard input for asynchronous commands, in the absence of any
explicit redirections, is redirected from /dev/null
.
Commands separated by a `;
' are executed sequentially; the shell
waits for each command to terminate in turn. The return status is the
exit status of the last command executed.
The control operators `&&
' and `||
'
denote AND lists and OR lists, respectively.
An AND list has the form
command && command2
command2 is executed if, and only if, command returns an exit status of zero.
An OR list has the form
command || command2
command2 is executed if, and only if, command returns a non-zero exit status.
The return status of AND and OR lists is the exit status of the last command executed in the list.
Pipelines Shell Commands Looping Constructs