Options are primarily referred to by name. These names are case insensitive
and underscores are ignored. For example, allexport
is equivalent to
A__lleXP_ort
.
The sense of an option name may be inverted by preceding it with no
,
so setopt No_Beep
is equivalent to unsetopt beep
. This
inversion can only be done once, so nonobeep
is not a synonym
for beep
. Similarly, tify
is not a synonym for
nonotify
(the inversion of notify
).
Some options also have one or more single letter names. There are two sets
of single letter options: one used by default, and another when the shell is
emulating sh
or ksh
. The single letter options can be used on
the shell command line, or with the set
, setopt
and
unsetopt
builtins, as normal Unix options preceded by -
.
The sense of the single letter options may be inverted by using +
instead of -
. Some of the single letter option names refer to an
option being off, in which case the inversion of that name refers to the
option being on. For example, +n
is the short name of exec
,
and -n
is the short name of its inversion, noexec
.
ALL_EXPORT (-a, ksh: -a)
ALWAYS_LAST_PROMPT
ALWAYS_TO_END
APPEND_HISTORY
fc
command.
AUTO_CD (-J)
cd
command to that directory.
AUTO_LIST (-9)
AUTO_MENU
MENU_COMPLETE
.
AUTO_NAME_DIRS
~param
. If this option is not set, the parameter must be used in
that form for it to become a name (a command-line completion is
sufficient for this).
AUTO_PARAM_KEYS
}
,
:
, etc.), they are placed there automatically.
AUTO_PARAM_SLASH
AUTO_PUSHD (-N)
cd
push the old directory onto the directory stack.
AUTO_REMOVE_SLASH
AUTO_RESUME (-W)
BAD_PATTERN (+2)
BANG_HIST (+K)
!
specially.
BEEP (+B)
BG_NICE (-6)
BRACE_CCL
BSD_ECHO
echo(1)
command. This
disables backslashed escape sequences in echo strings unless the `-e'
option is specified.
CDABLE_VARS (-T)
cd
command (or an implied cd
with the
AUTO_CD
option set) is not a directory, and does not begin with a
slash, try to expand the expression as if it were preceded by a
~
(see section Filename Expansion).
CHASE_LINKS (-w)
CLOBBER (+C, ksh: +C)
>
redirection to truncate existing files, and >>
to
create files. Otherwise >!
must be used to truncate a file, and
>>!
to create a file.
COMPLETE_ALIASES
COMPLETE_IN_WORD
CORRECT (-0)
CORRECT_ALL (-O)
CSH_JUNKIE_HISTORY
CSH_JUNKIE_LOOPS
CSH_JUNKIE_QUOTES
CSH_NULL_GLOB
NULL_GLOB
.
EQUALS
=
filename substitution.
ERR_EXIT (-e, ksh: -e)
ZERR
trap,
if set, and exit. This is disabled while running initialization
scripts.
EXEC (+n, ksh: +n)
EXTENDED_GLOB
#
, ~
and ^
characters as part of patterns
for filename generation, etc. (An initial unquoted ~
always
produces named directory expansion (see section Filename Expansion).)
EXTENDED_HISTORY
:<beginning time>:<ending
time>
:<command>.
FLOW_CONTROL
FUNCTION_ARGZERO
$0
temporarily to the name of the function/script.
GLOB (+F, ksh: +f)
GLOB_ASSIGN
name=pattern
(e.g. `param=*
'). If
the result has more than one word the parameter will become an array
with those words as arguments. This option is provided for backwards
compatibility only: globbing is always performed on the right hand side
of array assignments of the form `name=( value )
'
(e.g. `param=(*)
') and this form is recommended for clarity;
with this option set, it is not possible to predict whether the result
will be an array or a scalar.
GLOB_COMPLETE
MENU_COMPLETE
. If no matches are found, a *
is added to
the end of the word, or inserted at the cursor if
COMPLETE_IN_WORD
is set, and completion is attempted again.
Using patterns works not only for files but for all completions, such as
options, user names, etc.
GLOB_DOTS (-4)
.
in a filename to be matched
explicitly.
GLOB_SUBST
HASH_CMDS
HASH_DIRS
HASH_CMDS
is unset.
HASH_LIST_ALL
HIST_ALLOW_CLOBBER
|
to output redirections in the history. This allows history
references to clobber files even when CLOBBER
is unset.
HIST_BEEP
HIST_IGNORE_DUPS (-h)
HIST_IGNORE_SPACE (-g)
HIST_NO_STORE
history
(fc -l
) command from the history
when invoked.
HIST_VERIFY
HUP
HUP
signal to running jobs when the shell exits.
IGNORE_BRACES (-I)
IGNORE_EOF (-7)
exit
or
logout
instead.
INTERACTIVE (-i, ksh: -i)
SHIN_STDIN
.) This heuristic may be
overridden by specifying a state for this option on the command line. The
value of this option cannot be changed anywhere other than the command line.
INTERACTIVE_COMMENTS (-k)
KSH_ARRAYS
${path[2]}
rather than just
$path[2]
).
KSH_OPTION_PRINT
LIST_AMBIGUOUS
LIST_BEEP
LIST_TYPES (-X)
LOCAL_OPTIONS
XTRACE
and
PRINT_EXIT_VALUE
options are restored. Hence if this is explicitly
unset by a shell function the other options in force at the point of return
will remain so.
LOGIN (-l, ksh: -l)
LONG_LIST_JOBS (-R)
MAGIC_EQUAL_SUBST
identifier=expression
appearing after the command
name have file expansion (that is, where expression has a leading
`~
' or `=
') performed on expression as if it were a
parameter assignment. The argument is not otherwise treated specially:
in other words, it is subsequently treated as a single word, not as an
assignment.
MAIL_WARNING (-U)
MARK_DIRS (-8, ksh: -X)
/
to all directory names resulting from filename
generation (globbing).
MENU_COMPLETE (-Y)
reverse-menu-complete
may be used to loop through the list in the
other direction. This option overrides AUTO_MENU
.
MONITOR (-m, ksh: -m)
MULTIOS
tee
s or cat
s when multiple redirections
are attempted. See section Redirection.
NOMATCH (-3)
~
or =
.
NOTIFY (-5, ksh: -b)
NULL_GLOB (-G)
NOMATCH
.
NUMERIC_GLOB_SORT
OVER_STRIKE
PATH_DIRS (-Q)
`/usr/local/bin'is in the user's path, and he types `X11/xinit', the command
`/usr/local/bin/X11/xinit'will be executed (assuming it exists). This applies to the
.
builtin as well as to command execution.
Commands explicitly beginning with
`./' or `../' are not subject to path search.
POSIX_BUILTINS
command
builtin can be used to execute
shell builtin commands. Parameter assignments specified before shell
functions and special builtins are kept after the command completes unless
the special builtin is prefixed with the command
builtin. Special
builtins are .
, :
, break
, continue
,
declare
, eval
, exit
, export
, integer
,
local
, readonly
, return
, set
, shift
,
source
, times
, trap
and unset
.
PRINT_EXIT_VALUE (-1)
PRIVILEGED (-p, ksh: -p)
ENV
variable is ignored. This option cannot be
changed using the `-m' option of setopt
and unsetopt
and changing it inside a function always changes it globally regardless of
the LOCAL_OPTIONS
option.
PROMPT_CR (+V)
PROMPT_SUBST
PUSHD_IGNORE_DUPS
PUSHD_MINUS
popd
command.
PUSHD_SILENT (-E)
pushd
or popd
.
PUSHD_TO_HOME (-D)
pushd
with no arguments act like pushd $HOME
.
RC_EXPAND_PARAM (-P)
foo${xx}bar
, where the parameter
xx
is set to (a b c)
, are substituted with
fooabar foobbar foocbar
instead of the default
fooa b cbar
.
RC_QUOTES
''
to signify a single quote within
singly quoted strings.
RCS (+f)
REC_EXACT (-S)
RM_STAR_SILENT (-H)
rm *
or rm path/*
.
SH_FILE_EXPANSION
~
expansion) before parameter
expansion, command substitution, arithmetic expansion and brace expansion.
If this option is unset, it is performed after brace expansion, so things
like ~$USERNAME
and ~{pfalstad,rc}
will work.
SH_GLOB
(
, |
, )
and <
for
globbing the result of parameter and command substitutions, and in some other
places where the shell accepts patterns. This option is set if zsh
is
invoked as sh
or ksh
.
SHIN_STDIN (-s, ksh: -s)
SHIN_STDIN
is set explicitly on the command
line, any argument that would otherwise have been taken as a file to run will
instead be treated as a normal positional parameter. Note that setting or
un-setting this option on the command line does not necessarily affect the
state the option will have while the shell is running; that is purely an
indicator of whether or not commands are actually being read from standard
input. The value of this option cannot be changed anywhere other than the
command line.
SH_OPTION_LETTERS
set
and setopt
) like ksh
does.
This also affects the value of the -
special parameter.
SHORT_LOOPS
for
, select
, if
, and
function
constructs.
SH_WORD_SPLIT (-y)
SINGLE_COMMAND (-t, ksh: -t)
INTERACTIVE
option is explicitly set on the command line. The
value of this option cannot be changed anywhere other than the command line.
SINGLE_LINE_ZLE (-M)
SUN_KEYBOARD_HACK (-L)
UNSET (+u, ksh: +u)
VERBOSE (-v, ksh: -v)
XTRACE (-x, ksh: -x)
ZLE (-Z)
-0
CORRECT
-1
PRINT_EXIT_VALUE
+2
BAD_PATTERN
+3
NOMATCH
-4
GLOB_DOTS
-5
NOTIFY
-6
BG_NICE
-7
IGNORE_EOF
-8
MARK_DIRS
-9
AUTO_LIST
+B
BEEP
+C
CLOBBER
-D
PUSHD_TO_HOME
-E
PUSHD_SILENT
+F
GLOB
-G
NULL_GLOB
-H
RM_STAR_SILENT
-I
IGNORE_BRACES
-J
AUTO_CD
+K
BANG_HIST
-L
SUN_KEYBOARD_HACK
-M
SINGLE_LINE_ZLE
-N
AUTO_PUSHD
-O
CORRECT_ALL
-P
RC_EXPAND_PARAM
-Q
PATH_DIRS
-R
LONG_LIST_JOBS
-S
REC_EXACT
-T
CDABLE_VARS
-U
MAIL_WARNING
+V
PROMPT_CR
-W
AUTO_RESUME
-X
LIST_TYPES
-Y
MENU_COMPLETE
-Z
ZLE
-a
ALL_EXPORT
-e
ERR_EXIT
+f
RCS
-g
HIST_IGNORE_SPACE
-h
HIST_IGNORE_DUPS
-i
INTERACTIVE
-k
INTERACTIVE_COMMENTS
-l
LOGIN
-m
MONITOR
+n
EXEC
-p
PRIVILEGED
-s
SHIN_STDIN
-t
SINGLE_COMMAND
+u
UNSET
-v
VERBOSE
-w
CHASE_LINKS
-x
XTRACE
-y
SH_WORD_SPLIT
+C
CLOBBER
-X
MARK_DIRS
-a
ALL_EXPORT
-b
NOTIFY
-e
ERR_EXIT
+f
GLOB
-i
INTERACTIVE
-l
LOGIN
-m
MONITOR
+n
EXEC
-p
PRIVILEGED
-s
SHIN_STDIN
-t
SINGLE_COMMAND
+u
UNSET
-v
VERBOSE
-x
XTRACE
-A
-c
-m
-o
Note that the use of `-m' in setopt
and unsetopt
, allowing
the specification of option names by glob patterns, clashes with the use of
`-m' for setting the MONITOR
option.
Go to the first, previous, next, last section, table of contents.