Invoking the Shell

The command interpreter for the Bash shell (bash) can be invoked as follows:

bash  [options]  [arguments]

Bash can execute commands from a terminal, from a file (when the first argument is a script), or from standard input (if no arguments remain or if -s is specified). The shell automatically prints prompts if standard input is a terminal, or if -i is given on the command line.

On many systems, /bin/sh is a link to Bash. When invoked as sh, Bash acts more like the traditional Bourne shell: login shells read /etc/profile and ~/.profile, and regular shells read $ENV, if it is set. Full details are available in the bash(1) manpage.

Options

-c str

Read commands from string str.

-D, --dump-strings

Print all $"…" strings in the program.

-i

Create an interactive shell (prompt for input).

-l, --login

Shell is a login shell.

-O option

Enable shopt option option. Use +O to unset option.

-p

Start up as a privileged user. Do not read $ENV or $BASH_ENV; do not import functions from the environment; and ignore the values of the BASHOPTS, CDPATH, GLOBIGNORE, and SHELLOPTS variables. The normal fixed-name startup files (such as $HOME/.bash_profile) are read.

-r, --restricted

Create a restricted shell.

-s

Read commands from standard input. Output from built-in commands goes to file descriptor 1; all other shell output goes to file descriptor 2.

--debugger

Read the debugging profile at startup and turn on the extdebug option to shopt. For use by the Bash debugger (see http://bashdb.sourceforge.net). ...

Get bash Pocket Reference now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.