set
[
options arg1 arg2 ...
]
With no arguments,
set
prints the values of all variables
known to the current shell. Options can be enabled
(-
option
) or disabled (+
option
).
Options can also be set when the shell is invoked, via
ksh
or
sh
.
(See "Invoking the Shell" at the end of this section.)
Arguments are assigned in order to
$1
,
$2
, etc.
-
+A
name
-
Assign remaining arguments as elements of array
name
. Korn
shell only.
-
-A
name
-
Same as
+A
, but unset
name
before making assignments.
Korn shell only.
-
-a
-
From now on, automatically mark variables for export
after defining or changing them.
-
-e
-
Exit if a command yields a nonzero exit status.
In the Korn shell, the ERR trap is issued
before the command exits.
-
-f
-
Ignore filename metacharacters (e.g.,
* ? [ ]
).
-
-h
-
Locate commands as they are defined. The Korn shell creates
tracked aliases, whereas the Bourne shell hashes function names.
See
hash
.
-
-k
-
Assignment of environment variables (
var
=
value
)
will take effect regardless of where they appear on the
command line. Normally, assignments must follow the command name.
-
-m
-
Enable job control; background jobs will execute in a separate process
group.
-m
is usually set automatically. Korn
shell only.
-
-n
-
Read commands but don't execute; useful for checking errors.
-
-o [
m
]
-
List Korn shell modes, or turn on mode
m
.
Many modes can be set by other options. Modes are:
-
allexport
-
Same as
-a
.
-
bgnice
-
Run background jobs at lower priority.
-
emacs
-
Set command-line editor to
emacs
.
-
errexit
-
Same as
-e
.
-
ignoreeof
-
Don't process
EOF
signals. To exit the shell, type
exit
.
-
keyword
-
Same as
-k
.
-
markdirs
-
Append / to directory names.
-
monitor
-
Same as
-m
.
-
noclobber
-
Prevent overwriting via
>
redirection; use
>|
to overwrite files.
-
noexec
-
Same as
-n
.
-
noglob
-
Same as
-f
.
-
nolog
-
Omit function definitions from history file.
-
nounset
-
Same as
-u
.
-
privileged
-
Same as
-p
.
-
trackall
-
Same as
-h
.
-
verbose
-
Same as
-v
.
-
vi
-
Set command-line editor to
vi
.
-
viraw
-
Same as
vi
, but process each character when it's typed.
-
xtrace
-
Same as
-x
.
-
-p
-
Start up as a privileged user (i.e., don't process
$HOME/.profile
).
-
-s
-
Sort the positional parameters. Korn shell only.
-
-t
-
Exit after one command is executed.
-
-u
-
In substitutions, treat unset variables as errors.
-
-v
-
Show each shell command line when read.
-
-x
-
Show commands and arguments when executed, preceded by a
+
.
This provides step-by-step debugging of shell scripts.
(Same as
-o xtrace
.)
-
-
-
Turn off
-v
and
-x
, and turn off option processing.
Included in Korn shell for compatibility with older versions of Bourne
shell.
-
--
-
Used as the last option;
--
turns off option processing
so that arguments beginning with - are not misinterpreted as options.
(For example, you can set
$1
to -1.) If no arguments are given
after
--
, unset the positional parameters.
set - "$num" -20 -30
Set
$1
to
$num
,
$2
to -20,
$3
to -30.
set -vx
Read each command line; show it;
execute it; show it again (with arguments).
set +x
Stop command tracing.
set -o noclobber
Prevent file overwriting.
set +o noclobber
Allow file overwriting again.