Linking Commands

From Linux Shell Scripting Tutorial - A Beginner's handbook
Revision as of 22:21, 20 September 2009 by Admin (talk | contribs)
Jump to navigation Jump to search

Under bash you can create a sequence of one or more commands separated by one of the following operators:

Operator Syntax Description Example
; command1; command2 Separates commands that are executed in sequence. In this example, pwd is executed only after date command completes.
date ; pwd
 
& command arg & The shell executes the command in the background in a subshell. The shell does not wait for the command to finish, and the return status is 0. The & operator runs the command in background while freeing up your terminal for other work. In this example, find command is executed in background while freeing up your shell prompt.
find / -iname "*.pdf" >/tmp/output.txt &
 
&& command1 && command2 command2 is executed if, and only if, command1 returns an exit status of zero i.e. command2 only runs if first command1 run successfully. See Logical AND section for examples.
|| command1 | command2 command2 is executed if and only if command1 returns a non-zero exit status i.e. command2 only runs if first command fails. See Logical OR section for examples.