Learning the bash Shell 2nd Edition [Electronic resources]

نسخه متنی -صفحه : 104/ 89
نمايش فراداده

B.1 Invocation

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.