One of the things that the Bourne shell looks for when a command is entered, is if there is more than one command entered. The most common way to have multiple commands entered on one line is to use the semicolon separator. This separator tells the shell to send each command to be processed in the order in which they appear, like the following:
$ cd docs; mkdir old_docs; mv *.* old_docs <enter>
which is the same as
$ cd docs <enter> $ mkdir old_docs <enter> $ mv *.* old_docs <enter>
Now suppose there is a situation where a user wants to have some commands carried out at the same time without having to wait for each to start. A particular situation that comes to mind is copying a several megabyte file (which can take minutes) while trying to do anything else. The following could be entered:
$ cp big_file new_dir& rm *.o& who <enter>
which is equivalent to
$ cp big_file new_dir& <enter> $ rm *.o& <enter> $ who <enter>
where the shell puts the command (plus arguments) before an ampersand
into the background.
In the above case it copies the
big_file (in the background),
it deletes all of the object files (in the background) and finally it
who command (in the foreground).
The Bourne shell also allows command grouping.
Command grouping treats a group of commands as a unit and executes
them as such in a subshell.
To group commands enclose them in round parentheses
separate the commands by semicolons.
The grouped commands are executed in a subshell.
$ MY_name='Norm Buchanan' $ (MY_name='George Bush'; echo $MY_name) George Bush $ echo $MY_name Norm Buchanan
This example was chosen to demonstrate how command grouping works, but
also to give a glimpse of variable scope or visibility (which will be
covered in greater detail in section 2.7, variables).
User defined variables are local to the current shell which means that
they can not be accessed or altered in a subshell.
This is why the variable
MY_name returns to its original
value as soon as the commands enclosed by the parentheses have been
These features lead quite naturally into more powerful features of the Bourne shell, or shells in general.