UNIX in a Nutshell: System V Edition

UNIX in a Nutshell: System V EditionSearch this book
Previous: Reference: selectChapter 4
The Bourne Shell and Korn Shell
Next: Reference: shift
 

set

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 the earlier section "Invoking the Shell.") Arguments are assigned in order to $1, $2, etc.

Options

+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.

-b

Same as -o notify. The single-letter form is only in ksh93.

-C

Same as -o noclobber. The single-letter form is only in ksh93.

-e

Exit if a command yields a nonzero exit status. In the Korn shell, the ERR trap is executed before the shell 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 command names. See hash.

-k

Assignment of environment variables (var=value) takes effect regardless of where they appear on the command line. Normally, assignments must precede the command name.

-m

Enable job control; background jobs execute in a separate process group. -m is usually set automatically. Korn shell only.

-n

Read commands but don't execute; useful for checking syntax. The Korn shell ignores this option if it is interactive.

-o [mode]

List Korn shell modes, or turn on mode mode. 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.

notify

Print job completion messages as soon as jobs terminate; don't wait until the next prompt.

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 +. (Korn shell: precede with the value of PS4.) This provides step-by-step debugging of shell scripts.

-

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.

Examples

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


Previous: Reference: selectUNIX in a Nutshell: System V EditionNext: Reference: shift
Reference: selectBook IndexReference: shift

The UNIX CD Bookshelf NavigationThe UNIX CD BookshelfUNIX Power ToolsUNIX in a NutshellLearning the vi Editorsed & awkLearning the Korn ShellLearning the UNIX Operating System