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], page 38).
12. The -n invocation option is ignored, and ‘set -n’ has no effect (see Section 4.3.1 [The
Set Builtin], page 58).
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], page 69).
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.1 [The Set Builtin], page 58).
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], page 23).
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], page 94).
18. A failed exec will not cause the shell to exit (see Section 4.1 [Bourne Shell Builtins], page 41).
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.3.2 [The
Shopt Builtin], page 62).
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], page 69).
6.4 Bash Conditional Expressions
Conditional expressions are used by the [[ compound command and the test and [ builtin commands.
Expressions may be unary or binary. Unary expressions are often used to examine the status of a file. There are string operators and numeric comparison operators as well. If the file argument to one of the primaries is of 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, file descriptor 0, 1, or 2, respectively, is checked.
When used with [[, the ‘<’ and ‘>’ operators sort lexicographically using the current locale. The test command uses ASCII ordering.
Unless otherwise specified, primaries that operate on files follow symbolic links and operate on the target of the link, rather than the link itself.
-a file
True if file exists.
-b file
True if file exists and is a block special file.
-c file
True if file exists and is a character special file.
-d file
True if file exists and is a directory.
-e file
True if file exists.
-f file
True if file exists and is a regular file.