Table 2.1 and Table 2.2 list the options you can use when invoking bash 2. x and 1. x , respectively. [B] The multicharacter options must appear on the command line before the single-character options. In addition to these, any set option can be used on the command line; see Table 2.6 . Login shells are usually invoked with the options -i (interactive), -s (read from standard input), and -m (enable job control).
[B] At the time of writing, the old 1. x versions of bash are still widely used. We strongly recommend that you upgrade to the latest version. We have included a table of old options ( Table 2.2 ) just in case you encounter an old version of the shell.
Table B.1. Command-Line Options | |
Option | Meaning |
-c string | Commands are read from string , if present. Any arguments after string are interpreted as positional parameters, starting with $0 . |
-D | A list of all double-quoted strings preceded by $ is printed on the standard ouput. These are the strings that are subject to language translation when the current locale is not C or POSIX. This also turns on the -n option. |
-i | Interactive shell. Ignore signals TERM, INT, and QUIT. With job control in effect, TTIN, TTOU, and TSTP are also ignored. |
-o option | Takes the same arguments as set -o . |
-s | Read commands from the standard input. If an argument is given to bash , this flag takes precedence (i.e., the argument won't be treated as a script name and standard input will be read). |
-r | Restricted shell. See Chapter 10 . |
- | Signals the end of options and disables further option processing. Any options after this are treated as filenames and arguments. -- is synonymous with - . |
--dump-strings | Does the same as -D . |
--help | Displays a usage message and exits. |
--login | Makes bash act as if invoked as a login shell. |
--noediting | Does not use the GNU readline library to read command lines if interactive. |
--noprofile | Does not read the startup file /etc/profile or any of the personal initialization files. |
--norc | Does not read the initialization file ~/.bashrc if the shell is interactive. This is on by default if the shell is invoked as sh . |
--posix | Changes the behavior of bash to follow the POSIX guidelines more closely where the default operation of bash is different. |
--quiet | Shows no information on shell startup. This is the default. |
--rcfile file | Executes commands read from file instead of the initialization file ~/.bashrc , if the shell is interactive. |
--version | Shows the version number of this instance of bash and then exits. |
Table B.2. Old Command-Line Options | |
Option | Meaning |
-c string | Commands are read from string , if present. Any arguments after string are interpreted as positional parameters, starting with $0 . |
-i | Interactive shell. Ignore signals TERM, INT, and QUIT. With job control in effect, TTIN, TTOU, and TSTP are also ignored. |
-s | Read commands from the standard input. If an argument is given to bash , this flag takes precedence (i.e., the argument won't be treated as a script name and standard input will be read). |
-r | Restricted shell. See Chapter 10 . |
- | Signals the end of options and disables further option processing. Any options after this are treated as filenames and arguments. -- is synonymous with - . |
-norc | Does not read the initialization file ~/.bashrc if the shell is interactive. This is on by default if the shell is invoked as sh . |
-noprofile | Does not read the startup file /etc/profile or any of the personal initialization files. |
-rcfile file | Executes commands read from file instead of the initialization file ~/.bashrc , if the shell is interactive. |
-version | Shows the version number of this instance of bash when starting. |
-quiet | Shows no information on shell startup. This is the default. |
-login | Makes bash act as if invoked as a login shell. |
-nobraceexpansion | Does not perform curly brace expansion. |
-nolineediting | Does not use the GNU readline library to read command lines if interactive. |
-posix | Changes the behavior of bash to follow the POSIX guidelines more closely where the default operation of bash is different. |