User Commands                                              set(1)


NAME

     set, unset, setenv, unsetenv, export - shell built-in  func-
     tions  to  determine  the  characteristics for environmental
     variables of the current shell and its descendents


SYNOPSIS

  sh
     set [--aefhkntuvx [argument]]...

     unset [name]...

     export [name]...

  csh
     set [var [= value]]

     set var [n] = word

     unset pattern

     setenv [VAR [word]]

     unsetenv variable

  ksh
     set [_abCefhkmnopstuvx] [_o option]... [_A name]
          [arg]...

     unset [-f] name...

     **export [name [=value]]...

     **export [-p]

  ksh93
     +set [_abCefGhkmnoprstuvx] [_o option]... [_A vname]
          [arg]...

SunOS 5.11          Last change: 20 Nov 2007                    1


User Commands                                              set(1)

     +unset [-fnv] vname...

     ++export [-p] [name[=value]]...


DESCRIPTION

  sh
     The set built-in command has the following options:

     --    Does not change any of the flags. This option is  use-
           ful in setting $1 to -.

     -a    Marks variables which  are  modified  or  created  for
           export.

     -e    Exits immediately if a command exits with  a  non-zero
           exit status.

     -f    Disables file name generation.

     -h    Locates and remembers function commands  as  functions
           are  defined.  Function  commands are normally located
           when the function is executed.

     -k    All keyword arguments are placed  in  the  environment
           for a command, not just those that precede the command
           name.

     -n    Reads commands but does not execute them.

     -t    Exits after reading and executing one command.

     -u    Treats unset variables as an error when substituting.

     -v    Prints shell input lines as they are read.

     -x    Prints commands and their arguments as they  are  exe-
           cuted.

SunOS 5.11          Last change: 20 Nov 2007                    2


User Commands                                              set(1)

     Using + rather than - causes these flags to be  turned  off.
     These  flags  can also be used upon invocation of the shell.
     The current set of flags can be found in $-.  The  remaining
     arguments  are  positional  parameters  and are assigned, in
     order, to $1, $2, .... If no  arguments  are  specified  the
     values of all names are printed.

     For each name, unset removes the corresponding  variable  or
     function value. The variables PATH, PS1, PS2, MAILCHECK, and
     IF cannot be unset.

     With the export built-in, the specified names are marked for
     automatic export to the environment of subsequently executed
     commands.  If no arguments  are  specified,  variable  names
     that  have been marked for export during the current shell's
     execution are listed. Function names are not exported.

  csh
     With no arguments, set displays  the  values  of  all  shell
     variables.     Multiword   values   are   displayed   as   a
     parenthesized list. With the var argument alone, set assigns
     an  empty  (null) value to the variable var.  With arguments
     of the form var = value set  assigns  value  to  var,  where
     value is one of:

     word          A single word (or quoted string).

     (wordlist)    A space-separated list of  words  enclosed  in
                   parentheses.

     Values  are  command  and  filename  expanded  before  being
     assigned. The form set var[n]=word replaces the n'th word in
     a multiword value with word.

     unset removes variables whose names match (filename  substi-
     tution) pattern.  All variables are removed by `unset *'.

     With no arguments, setenv  displays  all  environment  vari-
     ables.  With  the  VAR argument, setenv sets the environment
     variable VAR to  an  empty  (null)  value.  (By  convention,
     environment  variables  are  normally  specified  upper-case
     names.) With both VAR and word arguments  specified,  setenv
     sets  VAR  to  word, which must be either a single word or a
     quoted string. The PATH  variable  can  take  multiple  word
     arguments,  separated  by  colons  (see  EXAMPLES). The most

SunOS 5.11          Last change: 20 Nov 2007                    3


User Commands                                              set(1)

     commonly used environment variables, USER, TERM,  and  PATH,
     are  automatically  imported  to  and  exported from the csh
     variables user, term, and path.  Use setenv if you  need  to
     change  these variables. In addition, the shell sets the PWD
     environment variable from the csh variable cwd whenever  the
     latter changes.

     The environment variables  LC_CTYPE,  LC_MESSAGES,  LC_TIME,
     LC_COLLATE,   LC_NUMERIC,  and  LC_MONETARY  take  immediate
     effect when changed within the C shell. See  environ(5)  for
     descriptions of these environment variables.

     unsetenv removes variable  from  the  environment.  As  with
     unset, pattern matching is not performed.

  ksh
     The flags for the set built-in have meaning as follows:

     -A           Array assignment. Unsets the variable name  and
                  assigns  values sequentially from the list arg.
                  If +A is used, the variable name is  not  unset
                  first.

     -a           All subsequent variables that are  defined  are
                  automatically exported.

     -b           Causes the shell to notify the  user  asynchro-
                  nously of background job completions.

     -C           Prevents existing files from being  overwritten
                  by  the  shell's > redirection operator. The >|
                  redirection operator overrides  this  noclobber
                  option for an individual file.

     -e           If a command has a non-zero exit  status,  exe-
                  cutes  the  ERR  trap,  if set, and exits. This
                  mode is disabled while reading profiles.

     -f           Disables file name generation.

     -h           Each command becomes a tracked alias when first
                  encountered.

SunOS 5.11          Last change: 20 Nov 2007                    4


User Commands                                              set(1)

     -k           All variable assignment arguments are placed in
                  the  environment  for a command, not just those
                  that precede the command name.

     -m           Background jobs run in a separate process group
                  and  a  line  prints  upon completion. The exit
                  status of background jobs is reported in a com-
                  pletion  message.  On systems with job control,
                  this  flag  is  turned  on  automatically   for
                  interactive shells.

     -n           Reads  commands  and  checks  them  for  syntax
                  errors,  but does not execute them. Ignored for
                  interactive shells.

     +o           Writes the current option stettings to standard
                  output in a format that is suitable for reinput
                  to the shell as commands that achieve the  same
                  option settings.

     -o option    The option argument can be one of the following
                  option names:

                  allexport     Same as -a.

                  errexit       Same as -e.

                  bgnice        All background jobs are run at  a
                                lower   priority.   This  is  the
                                default mode.  emacs Puts you  in
                                an emacs style in-line editor for
                                command entry.

                  gmacs         Puts you in a gmacs style in-line
                                editor for command entry.

                  ignoreeof     The shell does not exit  on  end-
                                of-file. The command exit must be
                                used.

                  keyword       Same as -k.

SunOS 5.11          Last change: 20 Nov 2007                    5


User Commands                                              set(1)

                  markdirs      All  directory  names   resulting
                                from  file name generation have a
                                trailing / appended.

                  monitor       Same as -m.

                  noclobber     Prevents redirection  operator  >
                                from  truncating  existing files.
                                Requires the >| operator to trun-
                                cate  a file when turned on. Same
                                as -C.

                  noexec        Same as -n.

                  noglob        Same as -f.

                  nolog         Does not  save  function  defini-
                                tions in history file.

                  notify        Same as -b.

                  nounset       Same as -u.

                  privileged    Same as -p.

                  verbose       Same as -v.

                  trackall      Same as -h.

                  vi            Puts you in insert mode of  a  vi
                                style  in-line  editor  until you
                                hit 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.

SunOS 5.11          Last change: 20 Nov 2007                    6


User Commands                                              set(1)

                  xtrace        Same as -x.

     If no option name is supplied then the current  option  set-
     tings 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  is
             not equal to the real uid, or when the effective gid
             is not equal to  the  real  gid.  Turning  this  off
             causes  the  effective  uid and gid to be set to the
             real uid and gid.

     -s      Sorts the positional parameters lexicographically.

     -t      Exits after reading and executing one command.

     -u      Treats unset parameters as an error when  substitut-
             ing.

     -v      Prints shell input lines as they are read.

     -x      Prints commands and their arguments as they are exe-
             cuted.

     -       Turns off -x and -v flags and stops examining  argu-
             ments for flags.

     -       Does not change any of the  flags.  This  option  is
             useful in setting $1 to a value beginning with -. If
             no arguments follow this flag  then  the  positional
             parameters are unset.

     Using + rather than - causes these flags to be  turned  off.
     These  flags  can also be used upon invocation of the shell.
     The current set of flags can be found in $-.  Unless  -A  is
     specified, the remaining arguments are positional parameters
     and are assigned, in order, to $1 $2 ....  If  no  arguments
     are specified then the names and values of all variables are
     printed on the standard output.

SunOS 5.11          Last change: 20 Nov 2007                    7


User Commands                                              set(1)

     The variables specified by the list of names are unassigned,
     that  is,  their values and attributes are erased.  readonly
     variables cannot be unset. If the -f flag is set,  then  the
     names  refer  to  function  names.  Unsetting ERRNO, LINENO,
     MAILCHECK, OPTARG, OPTIND, RANDOM,  SECONDS,  TMOUT,  and  _
     removes  their special meaning even if they are subsequently
     assigned.

     When using unset, the variables specified  by  the  list  of
     names  are unassigned, i.e., their values and attributes are
     erased. readonly variables cannot be unset. If the -f,  flag
     is  set,  then  the names refer to function names. Unsetting
     ERRNO, LINENO, MAILCHECK, OPTARG, OPTIND,  RANDOM,  SECONDS,
     TMOUT,  and _ removes their special meaning even if they are
     subsequently assigned.

     With the export built-in, the specified names are marked for
     automatic export to the environment of subsequently-executed
     commands.

     When -p is specified, export writes to the  standard  output
     the  names  and values of all exported variables in the fol-
     lowing format:

       "export %s=%s\n", name, value

     if name is set, and:

       "export %s\n", name

     if name is unset.

     The shell formats the output, including the  proper  use  of
     quoting,  so that it is suitable for reinput to the shell as
     commands that achieve the same exporting results, except for
     the following:

         1.   Read-only variables with values cannot be reset.

         2.   Variables that were unset at  the  time  they  were
              output  are not reset to the unset state if a value
              is assigned to the variable between  the  time  the

SunOS 5.11          Last change: 20 Nov 2007                    8


User Commands                                              set(1)

              state  was  saved  and  the time at which the saved
              output is reinput to the shell.

     On this manual page, ksh(1) commands that  are  preceded  by
     one  or  two * (asterisks) are treated specially in the fol-
     lowing ways:

         1.   Variable assignment  lists  preceding  the  command
              remain in effect when the command completes.

         2.   I/O  redirections  are  processed  after   variable
              assignments.

         3.   Errors cause a script that contains them to abort.

         4.   Words, following a command preceded by ** that  are
              in   the  format  of  a  variable  assignment,  are
              expanded with the same rules as a variable  assign-
              ment.  This  means  that tilde substitution is per-
              formed after the = sign and word splitting and file
              name generation are not performed.

  ksh93
     set  sets  or  unsets  options  and  positional  parameters.
     Options  that are specified with a - cause the options to be
     set. Options that are specified with a + cause the option to
     be unset.

     set without any options or arguments displays the names  and
     values  of all shell variables in the order of the collation
     sequence in the current locale. The  values  are  quoted  so
     that they are suitable for input again to the shell.

     If no arguments are specified, not even the end  of  options
     argument --, the positional parameters are unchanged. Other-
     wise, unless the -A option has  been  specified,  the  posi-
     tional  parameters  are replaced by the list of arguments. A
     first argument of --  is  ignored  when  setting  positional
     parameters.

     For backwards  compatibility,  a  set  command  without  any
     options  specified,  whose first argument is - turns off the
     -v and -x options. If any additional  arguments  are  speci-
     fied, they replace the positional parameters.

     The options for set in ksh93 are:

SunOS 5.11          Last change: 20 Nov 2007                    9


User Commands                                              set(1)

     -a             Set the export attribute  for  each  variable
                    whose  name  does  not  contain a .  that you
                    assign a value in the current shell  environ-
                    ment.

     -A name        Assign  the  arguments  sequentially  to  the
                    array  named  by name starting at subscript 0
                    rather than to the positional parameters.

     -b             The shell writes a message to standard  error
                    as soon it detects that a background job com-
                    pletes rather than  waiting  until  the  next
                    prompt.

     -B             Enable {...} group expansion. On by default.

     -C             Prevents existing regular  files  from  being
                    overwritten using the > redirection operator.
                    The >| redirection overrides  this  noclobber
                    option.

     -e             A simple command that  has  a  non-zero  exit
                    status  causes  the  shell to exit unless the
                    simple command is:

                        o    contained in an && or || list

                        o    the  command  immediately  following
                             if, while, or until

                        o    contained in the pipeline  following
                             !

     -f             Pathname expansion is disabled.

     -G             Causes ** by itself to also  match  all  sub-
                    directories during pathname expansion.

     -h             Obsolete. Causes each command whose name  has
                    the  syntax  of  an alias to become a tracked
                    alias when it is first encountered.

SunOS 5.11          Last change: 20 Nov 2007                   10


User Commands                                              set(1)

     -H             Enable !-style history expansion  similar  to
                    csh.

     -k             This is obsolete. All arguments of  the  form
                    name=value  are  removed  and  placed  in the
                    variable assignment  list  for  the  command.
                    Ordinarily, variable assignments must precede
                    command arguments.

     -m             When enabled, the shell runs background  jobs
                    in  a  separate  process group and displays a
                    line upon completion. This mode is enabled by
                    default  for  interactive  shells  on systems
                    that support job control.

     -n             The shell reads commands and checks for  syn-
                    tax errors, but does not execute the command.
                    Usually specified on command invocation.

     -o [option]    If option  is  not  specified,  the  list  of
                    options and their current settings is written
                    to standard output. When invoked with a + the
                    options  are  written in a format that can be
                    input again to the shell to restore the  set-
                    tings.  This option can be repeated to enable
                    or disable multiple options.

                    The value of option must be one of  the  fol-
                    lowing:

                    allexport      Same as -a.

                    bgnice         All background jobs are run at
                                   lower priorities.

                    braceexpand    Same as -B.

                    emacs          Enables  or   disables   emacs
                                   editing mode.

                    errexit        Same as -e.

SunOS 5.11          Last change: 20 Nov 2007                   11


User Commands                                              set(1)

                    globstar       Equivalent to -G.

                    gmacs          Enables  or  disables   gmacs.
                                   gmacs editing mode is the same
                                   as emacs editing mode,  except
                                   for the handling of CTRL-T.

                    histexpand     Same as -H.

                    ignoreeof      The interactive shell does not
                                   exit on end-of-file.

                    keyword        Same as -k.

                    markdirs       All directory names  resulting
                                   from file name generation have
                                   a trailing / appended.

                    monitor        Same as -m.

                    multiline      Use multiple lines when  edit-
                                   ing lines that are longer than
                                   the window width.

                    noclobber      Same as -C.

                    noexec         Same as -n.

                    noglob         Same as -f.

                    nolog          This has no effect. It is pro-
                                   vided for backward compatibil-
                                   ity.

                    notify         Same as -b.

                    nounset        Same as -u.

SunOS 5.11          Last change: 20 Nov 2007                   12


User Commands                                              set(1)

                    pipefail       A pipeline does  not  complete
                                   until  all  components  of the
                                   pipeline have  completed,  and
                                   the  exit  status of the pipe-
                                   line is the value of the  last
                                   command  to exit with non-zero
                                   exit status, or is zero if all
                                   commands   return   zero  exit
                                   status.

                    privileged     Same as -p.

                    showme         Simple commands preceded by  a
                                   ;  are  traced  as  if -x were
                                   enabled but not executed.

                    trackall       Same as -h.

                    verbose        Same as -v.

                    vi             Enables or disables vi editing
                                   mode.

                    viraw          Does not use  canonical  input
                                   mode when using vi edit mode

                    xtrace         Same as -x.

     -p             Privileged mode. Disabling -p sets the effec-
                    tive  user  id  to  the real user id, and the
                    effective group id to the real group id. Ena-
                    bling  -p  restores  the  effective  user and
                    group ids to their values when the shell  was
                    invoked.  The  -p  option  is on whenever the
                    real and effective user id is  not  equal  or
                    the real and effective group id is not equal.
                    User profiles are not processed  when  -p  is
                    enabled.

     -r             Restricted. Enables  restricted  shell.  This
                    option cannot be unset once enabled.

SunOS 5.11          Last change: 20 Nov 2007                   13


User Commands                                              set(1)

     -s             Sort the positional parameters

     -t             Obsolete. The shell  reads  one  command  and
                    then exits.

     -u             If enabled, the shell displays an error  mes-
                    sage  when it tries to expand a variable that
                    is unset.

     -v             Verbose. The shell displays  its  input  onto
                    standard error as it reads it.

     -x             Execution trace. The shell displays each com-
                    mand after all expansion and before execution
                    preceded by the expanded  value  of  the  PS4
                    parameter.

     The following exit values are returned by set in ksh93:

     0     Successful completion.

     >0    An error occurred.

     For each name specified, unset unsets the variable, or func-
     tion  if  -f  is specified, from the current shell execution
     environment.  Read-only variables cannot be unset.

     The options for unset in ksh93 are:

     -f    Where name refers to a function name, the shell unsets
           the function definition.

     -n    If name refers to variable that is  a  reference,  the
           variable  name  is  unset  rather than the variable it
           references. Otherwise, this option  is  equivalent  to
           the -v option.

     -v    Where name refers to a variable name, the shell unsets
           it  and  removes  it from the environment. This is the
           default behavior.

SunOS 5.11          Last change: 20 Nov 2007                   14


User Commands                                              set(1)

     The following exit values are returned by unset in ksh93:

     0     Successful completion.  All  names  were  successfully
           unset.

     >0    An error occurred, or one or more name operands  could
           not be unset

     export sets the export attribute on each  of  the  variables
     specified by name which causes them to be in the environment
     of subsequently executed commands. If =value  is  specified,
     the variable name is set to value.

     If no name  is  specified,  the  names  and  values  of  all
     exported variables are written to standard output.

     export is built-in to the shell as a declaration command  so
     that  field  splitting  and  pathname expansion are not per-
     formed on the arguments.  Tilde expansion occurs on value.

     The options for export in ksh93 are:

     -p    Causes the output to be in the form of export commands
           that can be used as input to the shell to recreate the
           current exports.

     The following exit values are returned by export in ksh93:

     0     Successful completion.

     >0    An error occurred.

     On this manual page, ksh93(1) commands that are preceded  by
     one or two + are treated specially in the following ways:

         1.   Variable assignment  lists  preceding  the  command
              remain in effect when the command completes.

         2.   I/O  redirections  are  processed  after   variable
              assignments.

SunOS 5.11          Last change: 20 Nov 2007                   15


User Commands                                              set(1)

         3.   Errors cause a script that contains them to abort.

         4.   They are not valid function names.

         5.   Words, following a command preceded by ++ that  are
              in   the  format  of  a  variable  assignment,  are
              expanded with the same rules as a variable  assign-
              ment.  This  means  that tilde substitution is per-
              formed after the = sign  and  field  splitting  and
              file name generation are not performed.


EXAMPLES

  csh
     The following example sets the PATH variable to  search  for
     files  in  the  /bin,  /usr/bin, /usr/sbin, and /usr/ucb/bin
     directories, in that order:

       setenv PATH "/bin:/usr/bin:/usr/sbin:usr/ucb/bin"


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWcsu                     |
    |_____________________________|_____________________________|


SEE ALSO

     csh(1), ksh(1), ksh93(1), read(1), sh(1), typeset(1), attri-
     butes(5), environ(5)

SunOS 5.11          Last change: 20 Nov 2007                   16


Man(1) output converted with man2html


FhG Schily's Home VED powered