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 "Invoking the Shell" at the end of this section.) 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.

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

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