3.1.1 Shell Operation
The following is a brief description of the shell’s operation when it
reads and executes a command. Basically, the shell does the
following:
- Reads its input from a file (see Shell Scripts), from a string
supplied as an argument to the -c invocation option
(see Invoking Bash), or from the user’s terminal.
- Breaks the input into words and operators, obeying the quoting rules
described in Quoting. These tokens are separated by
metacharacters
. Alias expansion is performed by this step
(see Aliases).
- Parses the tokens into simple and compound commands
(see Shell Commands).
- Performs the various shell expansions (see Shell Expansions), breaking
the expanded tokens into lists of filenames (see Filename Expansion)
and commands and arguments.
- Performs any necessary redirections (see Redirections) and removes
the redirection operators and their operands from the argument list.
- Executes the command (see Executing Commands).
- Optionally waits for the command to complete and collects its exit
status (see Exit Status).