Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions




6.3.3 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 section 6.2 Bash Startup Files.
  2. Job Control (see section 7 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 (see section 5.2 Bash Variables).
  5. Readline (see section 8 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 (see section 4.3 The Set Builtin).
  7. Command history (see section 9.1 Bash History Facilities) and history expansion (see section 9.3 History Expansion) are enabled by default. Bash will save the command history to the file named by $HISTFILE when an interactive shell exits.
  8. Alias expansion (see section 6.6 Aliases) is performed by default.
  9. In the absence of any traps, Bash ignores SIGTERM (see section 3.7.6 Signals).
  10. In the absence of any traps, SIGINT is caught and handled ((see section 3.7.6 Signals). SIGINT will interrupt some shell builtins.
  11. An interactive login shell sends a SIGHUP to all jobs on exit if the huponexit shell option has been enabled (see section 3.7.6 Signals).
  12. The -n invocation option is ignored, and 'set -n' has no effect (see section 4.3 The Set Builtin).
  13. Bash will check for mail periodically, depending on the values of the MAIL, MAILPATH, and MAILCHECK shell variables (see section 5.2 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 (see section 4.3 The Set Builtin).
  15. The shell will not exit on expansion errors caused by var being unset or null in ${var:?word} expansions (see section 3.5.3 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 (see section 6.11 Bash POSIX Mode).
  18. A failed exec will not cause the shell to exit (see section 4.1 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 section 4.2 Bash Builtin Commands).
  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 (see section 5.2 Bash Variables).

  Published under the terms of the GNU General Public License Design by Interspire