One of the strengths of the shell as a programming language is its parsing of command-line arguments and the various expansions it performs on words in the line. When a command is called with arguments, the shell does several things before it invokes the command.
To help visualize what happens, the short script shown in Listing 4-1, called
sa, will display what the shell has passed to it after processing all the arguments. Each of its arguments is printed on a separate line, preceded by the value of
$pre and followed by the value of
sa; Displaying Command-Line Arguments
printf "$pre%s$post\n" "$@"
The special parameter
$@ expands to a list of all the command-line ...