Info Node: (bashref.info)Interactive Shell Behavior
(bashref.info)Interactive Shell Behavior
Interactive Shell Behavior
--------------------------
When the shell is running interactively, it changes its behavior in
several ways.
1. Startup files are read and executed as described in Note:Bash
Startup Files.
2. Job Control (Note:Job Control) is enabled by default. When job
control is in effect, Bash ignores the keyboard-generated job
control signals `SIGTTIN', `SIGTTOU', and `SIGTSTP'.
3. Bash expands and displays `PS1' before reading the first line of a
command, and expands and displays `PS2' before reading the second
and subsequent lines of a multi-line command.
4. Bash executes the value of the `PROMPT_COMMAND' variable as a
command before printing the primary prompt, `$PS1' (Note:Bash
Variables).
5. Readline (Note:Command Line Editing) is used to read commands
from the user's terminal.
6. Bash inspects the value of the `ignoreeof' option to `set -o'
instead of exiting immediately when it receives an `EOF' on its
standard input when reading a command (Note:The Set Builtin).
7. Command history (Note:Bash History Facilities) and history
expansion (Note:History Interaction) are enabled by default.
Bash will save the command history to the file named by `$HISTFILE'
when an interactive shell exits.
8. Alias expansion (Note:Aliases) is performed by default.
9. In the absence of any traps, Bash ignores `SIGTERM' (Note:Signals).
10. In the absence of any traps, `SIGINT' is caught and handled
((Note:Signals). `SIGINT' will interrupt some shell builtins.
11. An interactive login shell sends a `SIGHUP' to all jobs on exit if
the `hupoxexit' shell option has been enabled (Note:Signals).
12. The `-n' invocation option is ignored, and `set -n' has no effect
(Note:The Set Builtin).
13. Bash will check for mail periodically, depending on the values of
the `MAIL', `MAILPATH', and `MAILCHECK' shell variables (Note:Bash Variables).
14. Expansion errors due to references to unbound shell variables after
`set -u' has been enabled will not cause the shell to exit (Note:The Set Builtin).
15. The shell will not exit on expansion errors caused by VAR being
unset or null in `${VAR:?WORD}' expansions (Note:Shell Parameter
Expansion).
16. Redirection errors encountered by shell builtins will not cause the
shell to exit.
17. When running in POSIX mode, a special builtin returning an error
status will not cause the shell to exit (Note:Bash POSIX Mode).
18. A failed `exec' will not cause the shell to exit (Note:Bourne
Shell Builtins).
19. Parser syntax errors will not cause the shell to exit.
20. Simple spelling correction for directory arguments to the `cd'
builtin is enabled by default (see the description of the `cdspell'
option to the `shopt' builtin in Note:Bash Builtins).
21. The shell will check the value of the `TMOUT' variable and exit if
a command is not read within the specified number of seconds after
printing `$PS1' (Note:Bash Variables).