シェルのオプションを設定する（set -o/set +o)

```
[linuxstudy@xxxx ~]$ set -o | grep history
history        	on
[linuxstudy@xxxx ~]$ set +o history
[linuxstudy@xxxx ~]$ set -o | grep history
history        	off
[linuxstudy@xxxx ~]$ set -o history
[linuxstudy@xxxx ~]$ set -o | grep history
history        	on
```
```
       set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]
              Without options, the name and value of each shell variable are displayed  in  a  format
              that  can  be  reused  as  input  for setting or resetting the currently-set variables.
              Read-only variables cannot be reset.  In posix mode, only shell variables  are  listed.
              The output is sorted according to the current locale.  When options are specified, they
              set or unset shell attributes.  Any arguments remaining  after  option  processing  are
              treated  as values for the positional parameters and are assigned, in order, to $1, $2,
              ...  $n.  Options, if specified, have the following meanings:
              -a      Automatically mark variables and functions which are modified  or  created  for
                      export to the environment of subsequent commands.
              -b      Report the status of terminated background jobs immediately, rather than before
                      the next primary prompt.  This is effective only when job control is enabled.
              -e      Exit immediately if a pipeline (which may consist of a single simple  command),
                      a  subshell command enclosed in parentheses, or one of the commands executed as
                      part of a command list enclosed by braces (see SHELL GRAMMAR above) exits  with
                      a  non-zero  status.  The shell does not exit if the command that fails is part
                      of the command list immediately following a while or until keyword, part of the
                      test following the if or elif reserved words, part of any command executed in a
                      && or || list except the command following the final && or ||, any command in a
                      pipeline  but the last, or if the command's return value is being inverted with
                      !.  A trap on ERR, if set, is executed before the  shell  exits.   This  option
                      applies  to the shell environment and each subshell environment separately (see
                      COMMAND EXECUTION ENVIRONMENT above), and may cause subshells  to  exit  before
                      executing all the commands in the subshell.
              -f      Disable pathname expansion.
              -h      Remember the location of commands as they are looked up for execution.  This is
                      enabled by default.
              -k      All arguments in the form of assignment statements are placed in  the  environ‐
                      ment for a command, not just those that precede the command name.
              -m      Monitor mode.  Job control is enabled.  This option is on by default for inter‐
                      active shells on systems that support it (see JOB CONTROL  above).   Background
                      processes run in a separate process group and a line containing their exit sta‐
                      tus is printed upon their completion.
              -n      Read commands but do not execute them.  This may  be  used  to  check  a  shell
                      script for syntax errors.  This is ignored by interactive shells.
              -o option-name
                      The option-name can be one of the following:
                      allexport
                              Same as -a.
                      braceexpand
                              Same as -B.
                      emacs   Use  an emacs-style command line editing interface.  This is enabled by
                              default when the shell is interactive, unless the shell is started with
                              the  --noediting  option.  This also affects the editing interface used
                              for read -e.
                      errexit Same as -e.
                      errtrace
                              Same as -E.
                      functrace
                              Same as -T.
                      hashall Same as -h.
                      histexpand
                              Same as -H.
                      history Enable command history, as described above under HISTORY.  This  option
                              is on by default in interactive shells.
                      ignoreeof
                              The  effect  is  as if the shell command ``IGNOREEOF=10'' had been exe‐
                              cuted (see Shell Variables above).
                      keyword Same as -k.
                      monitor Same as -m.
                      noclobber
                              Same as -C.
                      noexec  Same as -n.
                      noglob  Same as -f.
                      nolog   Currently ignored.
                      notify  Same as -b.
                      nounset Same as -u.
                      onecmd  Same as -t.
                      physical
                              Same as -P.
                      pipefail
                              If set, the return value of a pipeline is the value of the last (right‐
                              most)  command  to exit with a non-zero status, or zero if all commands
                              in the pipeline exit successfully.  This option is disabled by default.
                      posix   Change the behavior of bash where the default  operation  differs  from
                              the POSIX standard to match the standard (posix mode).
                      privileged
                              Same as -p.
                      verbose Same as -v.
                      vi      Use  a  vi-style command line editing interface.  This also affects the
                              editing interface used for read -e.
                      xtrace  Same as -x.
                      If -o is supplied with no option-name, the values of the  current  options  are
                      printed.   If  +o  is supplied with no option-name, a series of set commands to
                      recreate the current option settings is displayed on the standard output.
              -p      Turn on privileged mode.  In this mode, the $ENV and $BASH_ENV  files  are  not
                      processed,  shell  functions  are  not  inherited from the environment, and the
                      SHELLOPTS, BASHOPTS, CDPATH, and GLOBIGNORE variables, if they  appear  in  the
                      environment,  are  ignored.   If  the  shell is started with the effective user
                      (group) id not equal to the real user (group) id, and the -p option is not sup‐
                      plied,  these  actions  are  taken and the effective user id is set to the real
                      user id.  If the -p option is supplied at startup, the effective user id is not
                      reset.   Turning  this option off causes the effective user and group ids to be
                      set to the real user and group ids.
              -t      Exit after reading and executing one command.
              -u      Treat unset variables and parameters other than the special parameters "@"  and
                      "*" as an error when performing parameter expansion.  If expansion is attempted
                      on an unset variable or parameter, the shell prints an error message,  and,  if
                      not interactive, exits with a non-zero status.
              -v      Print shell input lines as they are read.
              -x      After expanding each simple command, for command, case command, select command,
                      or arithmetic for command, display the expanded value of PS4, followed  by  the
                      command and its expanded arguments or associated word list.
              -B      The  shell performs brace expansion (see Brace Expansion above).  This is on by
                      default.
              -C      If set, bash does not overwrite an existing file with the >, >&, and  <>  redi‐
                      rection  operators.  This may be overridden when creating output files by using
                      the redirection operator >| instead of >.
              -E      If set, any trap on ERR is inherited by shell functions, command substitutions,
                      and  commands executed in a subshell environment.  The ERR trap is normally not
                      inherited in such cases.
              -H      Enable !  style history substitution.  This option is on by  default  when  the
                      shell is interactive.
              -P      If  set,  the shell does not follow symbolic links when executing commands such
                      as cd that change the current working directory.  It uses the  physical  direc‐
                      tory structure instead.  By default, bash follows the logical chain of directo‐
                      ries when performing commands which change the current directory.
              -T      If set, any traps on DEBUG and RETURN are inherited by shell functions, command
                      substitutions,  and commands executed in a subshell environment.  The DEBUG and
                      RETURN traps are normally not inherited in such cases.
              --      If no arguments follow this option, then the positional parameters  are  unset.
                      Otherwise,  the positional parameters are set to the args, even if some of them
                      begin with a -.
              -       Signal the end of options, cause all remaining args to be assigned to the posi‐
                      tional  parameters.   The  -x  and  -v options are turned off.  If there are no
                      args, the positional parameters remain unchanged.

              The options are off by default unless otherwise noted.  Using + rather  than  -  causes
              these  options  to be turned off.  The options can also be specified as arguments to an
              invocation of the shell.  The current set of options may be found in  $-.   The  return
              status is always true unless an invalid option is encountered.

```