Contents
1. Bash Invocation
1.1. Modes
GNU bash may be started in any combination of various invocation modes. These modes control:
- The source from which to interpenetrate commands:
- user's terminal
- shell script
- command string
- file contents
- standard input
- POSIX compatibality
- Login shell mode
- Security settings
- Restricted Shell access
1.1.1. Interactive Shell
1.1.2. Login Shell
- Login Shell
1.1.3. POSIX Mode
1.1.4. Command String
1.1.5. Interactive Shell
1.1.5.1. Command Line
1.1.5.2. Prompting
1.1.5.3. Completion
1.1.5.4. History
1.1.5.5. Job Control
1.1.6. Shell Script
1.1.7. Command File
1.1.8. Command Stream
1.1.9. Restricted Shell
- Bash invocation modes.
1.2. Options
1.2.1. -c CommandString
-c [options] -- CommandString [ARG0 [ARG...]]
- commands are read from the first non-option argument (required)
$0 is set as the second non-option argument defaulting to "bash"
all remaining non-option arguments are assigned to the positional parameters starting at $1
[[ $- =~ c ]] will return true
1.2.2. -i
force the shell into Interactive Mode
[[ $- =~ i ]] will return true
[[ ${PS1+set} = 'set' ]] will return true
Include: Nothing found for "^----$"!
1.2.3. -l
pragma section-numbers 1
Contents
1.2.4. Invocation Option l
act as a Login Shell
--login must appear on the command line before the single-character options to be recognized.
1.2.5. -r
act as a Restricted Shell
1.2.6. -s
1.2.7. -D
- A list of all double-quoted strings preceded by $ is printed on the standard output. These are the strings that are subject to language translation when the current locale is not C or POSIX. This implies the -n option; no commands will be executed.
1.2.8. -O ShoptOption | +O ShoptOption
-O ShoptOption | +O ShoptOption
- shopt_option is one of the shell options accepted by the shopt builtin (see SHELL BUILTIN COMMANDS below).
- If shopt_option is present, -O sets the value of that option; +O unsets it.
- If shopt_option is not supplied, the names and values of the shell options accepted by shopt are printed on the standard output.
- If the invocation option is +O, the output is displayed in a format that may be reused as input.
1.2.9. --debugger
- Arrange for the debugger profile to be executed before the shell starts.
- Turns on extended debugging mode (see the description of the extdebug option to the shopt builtin below).
- These options must appear on the command line before the single-character options to be recognized.
1.2.10. --dump-po-strings
- Equivalent to -D, but the output is in the GNU gettext po (portable object) file format.
- These options must appear on the command line before the single-character options to be recognized.
1.2.11. --dump-strings
- A list of all double-quoted strings preceded by $ is printed on the standard output. These are the strings that are subject to language translation when the current locale is not C or POSIX. This implies the -n option; no commands will be executed.
1.2.12. --help
- Display a usage message on standard output and exit successfully.
- These options must appear on the command line before the single-character options to be recognized.
Include: Nothing found for "^----$"!
1.2.13. --init-file
Contents
1.2.14. Invocation Option --rcfile
--rcfile FILE | --init-file FILE
- Execute commands from file instead of the standard personal initialization file ~/.bashrc if the shell is interactive (see INVOCATION below).
- An argument of --init-file is equivalent to --rcfile.
- These options must appear on the command line before the single-character options to be recognized.
1.2.15. --rcfile
--rcfile FILE | --init-file FILE
- Execute commands from file instead of the standard personal initialization file ~/.bashrc if the shell is interactive (see INVOCATION below).
- An argument of --init-file is equivalent to --rcfile.
- These options must appear on the command line before the single-character options to be recognized.
1.2.16. --login
act as a Login Shell
--login must appear on the command line before the single-character options to be recognized.
1.2.17. --noediting
- Do not use the GNU readline library to read command lines when the shell is interactive.
- These options must appear on the command line before the single-character options to be recognized.
1.2.18. --noprofile
- Do not read either the system-wide startup file /etc/profile or any of the personal initialization files ~/.bash_profile, ~/.bash_login, or ~/.profile.
- By default, bash reads these files when it is invoked as a login shell (see INVOCATION below).
- These options must appear on the command line before the single-character options to be recognized.
1.2.19. --norc
- Do not read and execute the personal initialization file ~/.bashrc if the shell is interactive.
- This option is on by default if the shell is invoked as sh.
- These options must appear on the command line before the single-character options to be recognized.
1.2.20. --posix
- Change the behavior of bash where the default operation differs from the POSIX standard to match the standard (posix mode).
- See SEE ALSO below for a reference to a document that details how posix mode affects bash's behavior.
- These options must appear on the command line before the single-character options to be recognized.
1.2.21. --restricted
act as a Restricted Shell
1.3. Environment
- env
1.4. Files
1.4.1. Bash Binary
1.4.2. /etc/profile
1.4.3. ~/.bash_profile
1.4.4. ~/.bashrc
1.4.5. ~/.profile
1.4.6. ~/.bash_logout