| GNU Bash Reference Manual by Chet Ramey and Brian Fox Paperback (6"x9"), 180 pages ISBN 0954161777 RRP £19.95 ($29.95) "An essential resource .... the most detailed coverage available for all aspects of Bash" --- Linux User and Developer Magazine (Issue 37, Mar 2004) Get a printed copy>>> |
3.2.3 Lists of Commands
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.
A sequence of one or more newlines may appear in a list
to delimit commands, equivalent to a semicolon.
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).
When job control is not active (see section 7 Job Control),
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
command1 && command2
command2 is executed if, and only if, command1 returns an exit status of zero.
An OR list has the form
command1 || command2
command2 is executed if, and only if, command1 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.
| ISBN 0954161777 | GNU Bash Reference Manual | See the print edition |