† set [ ±BCGabefhkmnoprstuvx ] [ ±o [ option ] ] ... [ ±A vname ]  [ -K keylist ] [ arg ... ] The options for this command have meaning as follows: -A      Array assignment.  If arg is specified, unset the variable vname and assign values sequentially from the arg list. If +A is used, the variable vname is not unset first. -B      Enable brace group expansion.  On by default. -C      Prevents redirection > from truncating existing files. Files that are created are opened with the O_EXCL mode. Requires >⎪ to truncate a file when turned on. -G      Causes the pattern ** by itself to match files and zero or more directories and sub-directories when used for file name generation.  If followed by a / only directories and sub-directories are matched. -H      Enable !-style history expansion similar to csh(1). -K      When no arguments are specified, it is used along with -s to specify the sort fields and sort options for sorting an array.  (See "Array Sorting" above for the description of the keylist option.) -a      All subsequent variables that are defined are automatically exported. -b      Prints job completion messages as soon as a background job changes state rather than waiting for the next prompt. -e      Unless contained in a ⎪⎪ or && command, or the command following an if while or until command or in the pipeline following !, if a command has a non-zero exit status, execute the ERR trap, if set, and exit.  This mode is disabled while reading profiles. -f      Disables file name generation. -h      Each command becomes a tracked alias when first encountered. -k      (Obsolete). All variable assignment arguments are placed in the environment for a command, not just those that precede the command name. -m      Background jobs will run in a separate process group and a line will print upon completion.  The exit status of background jobs is reported in a completion message.  On systems with job control, this option is turned on automatically for interactive shells. -n      Read commands and check them for syntax errors, but do not execute them.  Ignored for interactive shells. -o      The following argument can be one of the following option names: allexport Same as -a. bgnice  All background jobs are run at a lower priority. This is the default mode. braceexpand Same as -B. emacs   Puts you in an emacs style in-line editor for command entry. errexit Same as -e. globstar Same as -G. gmacs   Puts you in a gmacs style in-line editor for command entry. histexpand Same as -H. ignoreeof The shell will not exit on end-of-file.  The command exit must be used. keyword Same as -k. letoctal The let command allows octal constants starting with 0. markdirs All directory names resulting from file name generation have a trailing / appended. monitor Same as -m. multiline The built-in editors will use multiple lines on the screen for lines that are longer than the width of the screen.  This may not work for all terminals. noclobber Same as -C. noexec  Same as -n. noglob  Same as -f. nolog   Do not save function definitions in the history file. notify  Same as -b. nounset Same as -u. pipefail A pipeline will not complete until all components of the pipeline have completed, and the return value will be the value of the last non-zero command to fail or zero if no command has failed. privileged Same as -p. showme  When enabled, simple commands or pipelines preceded by a semicolon (;) will be displayed as if the xtrace option were enabled but will not be executed.  Otherwise, the leading ; will be ignored. trackall Same as -h. verbose Same as -v. vi      Puts you in insert mode of a vi style in-line editor until you hit the escape character 033. This puts you in control mode.  A return sends the line. viraw   Each character is processed as it is typed in vi mode.  This is now always enabled. Disabling the option at run time has no effect. xtrace  Same as -x. If no option name is supplied, then the current option settings are printed. -p      Disables processing of the $HOME/.profile file and uses the file /etc/suid_profile instead of the ENV file.  This mode is on whenever the effective uid (gid) is not equal to the real uid (gid).  Turning this off causes the effective uid and gid to be set to the real uid and gid. -r      Enables the restricted shell.  This option cannot be unset once set. -s      Sort the positional parameters lexicographically.  When used with -A sorts the elements of the array. -t (Obsolete).  Exit after reading and executing one command. -u      Treat unset parameters as an error when substituting. -v      Print shell input lines as they are read. -x      Print commands and their arguments as they are executed. --      Do not change any of the options; useful in setting $1 to a value beginning with -.  If no arguments follow this option then the positional parameters are unset.