Bash Reference Manual
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
Reads its input from a file (see section 3.8 Shell Scripts), from a string
supplied as an argument to the `-c' invocation option
(see section 6.1 Invoking Bash), or from the user's terminal.
Breaks the input into words and operators, obeying the quoting rules
described in 3.1.2 Quoting. These tokens are separated by
metacharacters. Alias expansion is performed by this step
(see section 6.6 Aliases).
Parses the tokens into simple and compound commands
(see section 3.2 Shell Commands).
Performs the various shell expansions (see section 3.5 Shell Expansions), breaking
the expanded tokens into lists of filenames (see section 3.5.8 Filename Expansion)
and commands and arguments.
Performs any necessary redirections (see section 3.6 Redirections) and removes
the redirection operators and their operands from the argument list.
Executes the command (see section 3.7 Executing Commands).
Optionally waits for the command to complete and collects its exit
status (see section 3.7.5 Exit Status).