![](https://csdnimg.cn/release/download_crawler_static/9997513/bg12.jpg)
1.2.2.3.3. Interactive shell behavior
Differences in interactive mode:
Bash reads startup files.•
Job control enabled by default.•
Prompts are set, PS2 is enabled for multi-line commands, it is usually set to ">". This is also the
prompt you get when the shell thinks you entered an unfinished command, for instance when you
forget quotes, command structures that cannot be left out, etc.
•
Commands are by default read from the command line using readline.•
Bash interprets the shell option ignoreeof instead of exiting immediately upon receiving EOF
(End Of File).
•
Command history and history expansion are enabled by default. History is saved in the file pointed to
by HISTFILE when the shell exits. By default, HISTFILE points to ~/.bash_history.
•
Alias expansion is enabled.•
In the absence of traps, the SIGTERM signal is ignored.•
In the absence of traps, SIGINT is caught and handled. Thus, typing Ctrl+C, for example, will not
quit your interactive shell.
•
Sending SIGHUP signals to all jobs on exit is configured with the huponexit option.•
Commands are executed upon read.•
Bash checks for mail periodically.•
Bash can be configured to exit when it encounters unreferenced variables. In interactive mode this
behavior is disabled.
•
When shell built-in commands encounter redirection errors, this will not cause the shell to exit.•
Special built-ins returning errors when used in POSIX mode don't cause the shell to exit. The built-in
commands are listed in Section 1.3.2.
•
Failure of exec will not exit the shell.•
Parser syntax errors don't cause the shell to exit.•
Simple spell check for the arguments to the cd built-in is enabled by default.•
Automatic exit after the length of time specified in the TMOUT variable has passed, is enabled.•
More information:
Section 3.2•
Section 3.6•
See Chapter 12 for more about signals.•
Section 3.4 discusses the various expansions performed upon entering a command.•
1.2.2.4. Conditionals
Conditional expressions are used by the [[ compound command and by the test and [ built-in commands.
Expressions may be unary or binary. Unary expressions are often used to examine the status of a file. You
only need one object, for instance a file, to do the operation on.
There are string operators and numeric comparison operators as well; these are binary operators, requiring two
objects to do the operation on. If the FILE argument to one of the primaries is in the form /dev/fd/N, then
file descriptor N is checked. If the FILE argument to one of the primaries is one of /dev/stdin,
/dev/stdout or /dev/stderr, then file descriptor 0, 1 or 2 respectively is checked.
Conditionals are discussed in detail in Chapter 7.
Bash Guide for Beginners
Chapter 1. Bash and Bash scripts 10