These are options that can be turned on with the set -o command. All are initially off except where noted. Abbreviations, where listed, are options to set that can be used instead of the full set -o command (e.g., set -a is an abbreviation for set -o allexport). For the most part, the abbreviations are actually backward-compatible Bourne shell options. To disable an option, use set +o long-name or set +X, where long-name and X are the long form or the single character form of the option, respectively.
Option | Abbrev | Meaning |
---|---|---|
allexport | -a | Export all subsequently defined variables. |
bgnice | Run all background jobs at decreased priority (on by default). |
|
emacs | Use Emacs-style command-line editing. |
|
errexit | -e | Exit the shell when a command exits with nonzero status. |
gmacs | Use Emacs-style command-line editing, but with a slightly different meaning for CTRL-T (See Chapter 2). |
|
ignoreeof | Disallow CTRL-D to exit the shell. |
|
keyword | -k | Execute assignments in the middle of command lines. (Very obsolete.) |
markdirs | Add / to all directory names generated from wildcard expansion. |
|
monitor | -m | Enable job control (on by default). |
noclobber | -C | Don't allow > redirection to existing files. |
noexec | -n | Read commands and check for syntax errors, but don't execute them. |
noglob | -f | Disable wildcard expansion. |
nolog | Disable command history for function definitions. |
|
notify | -b | Print job completion messages right away, instead of waiting for next prompt. |
nounset | -u | Treat undefined variables as errors, not as null. |
pipefail | Wait for all jobs in a pipeline to complete. Exit status is that of last command that failed, or zero otherwise. (ksh93g and later.) |
|
privileged | -p | Script is running in suid mode. |
trackall | -h | Create an alias for each full pathname found in a command search. (ksh93 ignores this option; the behavior is always on, even if this option is turned off.) |
verbose | -v | Print commands (verbatim) before running them. |
vi | Use vi-style command-line editing. |
|
viraw | Use vi-mode and have each keystroke take effect immediately. (This is required on some very old systems for vi-mode to work at all, and is necessary on all systems in order to use TAB for completion. Starting with ksh93n, it is automatically enabled when vi-mode is being used.) |
|
xtrace | -x | Print commands (after expansions) before running them. |
The set command has a few additional options that don't have corresponding set -o versions, as follows:
Option | Meaning |
---|---|
set -A ... | Indexed array assignment. |
set -s | Sort the positional parameters. |
set -t | Read and execute one command, and then exit. (Obsolete.) |
Copyright © 2003 O'Reilly & Associates. All rights reserved.