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's 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).

-O option

Enable shopt option option.

-p

Start up as a privileged user. Don't read $ENV or $BASH_ENV, don't import functions from the environment, and ignore the value of $SHELLOPTS. 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, turn on the extdebug option to shopt, and enable function tracing. For use by the Bash debugger (see http://bashdb.sourceforge.net).

- -dump-po-strings

Same as -D, but output in GNU gettext format.

- -help

Print a usage ...

Get bash Quick 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.