set - Linux Command - Unix Command

set - Read and write variables 


set varName ?value


Returns the value of variable varName. If value is specified, then set the value of varName to value, creating a new variable if one doesn't already exist, and return its value. If varName contains an open parenthesis and ends with a close parenthesis, then it refers to an array element: the characters before the first open parenthesis are the name of the array, and the characters between the parentheses are the index within the array.

Otherwise varName refers to a scalar variable. Normally, varName is unqualified (does not include the names of any containing namespaces), and the variable of that name in the current namespace is read or written. If varName includes namespace qualifiers (in the array name if it refers to an array element), the variable in the specified namespace is read or written.

If no procedure is active, then varName refers to a namespace variable (global variable if the current namespace is the global namespace). If a procedure is active, then varName refers to a parameter or local variable of the procedure unless the global command was invoked to declarevarName to be global, or unless a variable command was invoked to declare varName to be a namespace variable.


 -a Mark variables which are modified or created for export.
 -b Notify of job termination immediately.
 -e Exit immediately if a command exits with a non-zero status.
 -f Disable file name generation (globbing).
 -h Remember the location of commands as they are looked up.
 -k All assignment arguments are placed in the environment for a
 command, not just those that precede the command name.
 -m Job control is enabled.
 -n Read commands but do not execute them.
 -o option-name
 Set the variable corresponding to option-name:
 allexport same as -a
 braceexpand same as -B
 emacs use an emacs-style line editing interface
 errexit same as -e
 errtrace same as -E
 functrace same as -T
 hashall same as -h
 histexpand same as -H
 history enable command history
 ignoreeof the shell will not exit upon reading EOF
 allow comments to appear in interactive commands
 keyword same as -k
 monitor same as -m
 noclobber same as -C
 noexec same as -n
 noglob same as -f
 nolog currently accepted but ignored
 notify same as -b
 nounset same as -u
 onecmd same as -t
 physical same as -P
 pipefail the return value of a pipeline is the status of
 the last command to exit with a non-zero status,
 or zero if no command exited with a non-zero status
 posix change the behavior of bash where the default
 operation differs from the Posix standard to
 match the standard
 privileged same as -p
 verbose same as -v
 vi use a vi-style line editing interface
 xtrace same as -x
 -p Turned on whenever the real and effective user ids do not match.
 Disables processing of the $ENV file and importing of shell
 functions. Turning this option off causes the effective uid and
 gid to be set to the real uid and gid.
 -t Exit after reading and executing one command.
 -u Treat unset variables as an error when substituting.
 -v Print shell input lines as they are read.
 -x Print commands and their arguments as they are executed.
 -B the shell will perform brace expansion
 -C If set, disallow existing regular files to be overwritten
 by redirection of output.
 -E If set, the ERR trap is inherited by shell functions.
 -H Enable ! style history substitution. This flag is on
 by default when the shell is interactive.
 -P If set, do not follow symbolic links when executing commands
 such as cd which change the current directory.
 -T If set, the DEBUG trap is inherited by shell functions.
 - Assign any remaining arguments to the positional parameters.
 The -x and -v options are turned off.
 Using + rather than - causes these flags to be turned off. The
 flags can also be used upon invocation of the shell. The current
 set of flags may be found in $-. The remaining n ARGs are positional
 parameters and are assigned, in order, to $1, $2, .. $n. If no
 ARGs are given, all shell variables are printed.
 Exit Status:
 Returns success unless an invalid option is given.

See Also

expr(n), proc(n), trace(n), unset(n)


read, write, variable

Important: Use the man command (% man) to see how a command is used on your particular computer.