Linking Commands

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.