setenv(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 [_aefhkmnopstuvx]  [_o option]... [_A name] [arg...]

     unset [-f] name...

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


DESCRIPTION

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

     --    Do not change any of the flags; useful in  setting  $1
           to -.

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

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

     -f    Disable file name generation.

     -h    Locate and remember 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    Read commands but do not execute them.

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

     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 may be found in $-.  The  remaining
     arguments  are  positional  parameters  and are assigned, in
     order, to $1, $2, .... If no arguments are given 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 given  names  are  marked  for
     automatic export to the environment of subsequently executed
     commands.  If no arguments are given,  variable  names  that
     have  been marked for export during the current shell's exe-
     cution 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 *';
     this has noticeably distasteful side effects.

     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 given 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 commonly used
     environment variables, USER, TERM, and PATH,  are  automati-
     cally  imported to and exported from the csh variables user,
     term, and path. Use setenv if you need to change these vari-
     ables. In addition, the shell sets the PWD environment vari-
     able 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.  Unset the variable name and  assign
           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 automat-
           ically exported.

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

           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 will not  exit  on  end-of-file.   The
                 command exit must be used.

           keyword
                 Same as -k.

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

           monitor
                 Same as -m.

           noclobber
                 Prevents redirection > from truncating  existing
                 files.   Require  >|  to  truncate  a  file when
                 turned on.

           noexec
                 Same as -n.

           noglob
                 Same as -f.

           nolog Do not  save  function  definitions  in  history
                 file.

           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.

           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    Sort the positional parameters lexicographically.

     -t    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  exe-
           cuted.

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

     -     Do not change any of the flags; 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 may 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  given  then  the  names and values of all variables are
     printed on the standard output.

     The variables given by the list  of  names  are  unassigned,
     i.e., their values and attributes are erased. readonly vari-
     ables 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 given 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 given  names  are  marked  for
     automatic export to the environment of subsequently-executed
     commands.

     On this man page, ksh(1) commands that are preceded  by  one
     or  two * (asterisks) 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  assign-
        ments.

     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  assignment.  This  means  that
        tilde substitution is performed after the = sign and word
        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), read(1), sh(1),  typeset(1),  attributes(5),
     environ(5)


Man(1) output converted with man2html