unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Page:
Section:
Apropos / Subsearch:
optional field

set(1)                           User Commands                          set(1)



NAME
       set,  unset,  setenv,  unsetenv,  export  - shell built-in functions to
       determine the characteristics for environmental variables of  the  cur-
       rent 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]

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

       --       Does  not  change  any  of the flags. This option is useful 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 sta-
                tus.



       -f       Disables file name generation.



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



       -k       All keyword arguments are placed in the environment for a com-
                mand, 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 executed.



       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 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 execution are listed. Function names are not
       exported.

   csh
       With no arguments, set displays the values of all shell variables. Mul-
       tiword values are displayed as a parenthesized list. With the var argu-
       ment  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 parenthe-
                       ses.



       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 substitution)  pat-
       tern. All variables are removed by `unset *'.

       With  no arguments, setenv displays all environment variables. 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 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 vari-
       ables.

       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  asynchronously  of  back-
                ground 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, executes 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.



       -k       All  variable  assignment arguments are placed in the environ-
                ment 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 completion 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 optionThe 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 prior-
                                ity. 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.



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



                monitor         Same as -m.



                noclobber       Prevents  redirection operator >> from truncat-
                                ing existing files. Requires the  >>|  operator
                                to truncate a file when turned on. Same as -C.



                noexec          Same as -n.



                noglob          Same as -f.



                nolog           Does  not save function definitions 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.



                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 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 substituting.



       -v       Prints shell input lines as they are read.



       -x       Prints commands and their arguments as they are executed.



       -        Turns off -x and -v flags and stops  examining  arguments  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  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, 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.  Unset-
       ting  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 unas-
       signed, 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.

       With the export built-in, the given  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 following 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 state was saved and  the  time  at  which  the
           saved output is reinput to the shell.


       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 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  vari-
           able  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 attributes:


       tab()    allbox;    cw(2.750000i)|     cw(2.750000i)     lw(2.750000i)|
       lw(2.750000i).  ATTRIBUTE TYPEATTRIBUTE VALUE AvailabilitySUNWcsu


SEE ALSO
       csh(1), ksh(1), read(1), sh(1), typeset(1), attributes(5), environ(5)




SunOS 5.10                        13 Jul 2004                           set(1)