export man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana logo
[printable version]

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]

   ksh93
       +set [±abCefGhkmnoprstuvx] [±o option]... [±A vname]
	    [arg]...

       +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 useful in set‐
	     ting $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 exe‐
	     cuted.

       -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	speci‐
       fied 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. 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 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 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 speci‐
       fied 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 automati‐
		    cally exported.

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

       -C	    Prevents  existing	files  from  being  overwritten by the
		    shell's > redirection operator. The >| redirection	opera‐
		    tor	 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 read‐
		    ing profiles.

       -f	    Disables file name generation.

       -h	    Each command becomes a tracked alias  when	first  encoun‐
		    tered.

       -k	    All	 variable assignment arguments are placed in the envi‐
		    ronment 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 interac‐
		    tive 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 com‐
		    mands 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 pri‐
				  ority. 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 trun‐
				  cating existing files. Requires the >| oper‐
				  ator 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  his‐
				  tory 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 set‐
	       ting  $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.

       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 subse‐
       quently 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 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 manual 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 variable assignment. This means that  tilde  sub‐
		  stitution  is	 performed 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 speci‐
       fied 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 cur‐
       rent 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.  Otherwise,  unless  the  -A
       option  has  been  specified, the positional 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 speci‐
       fied, whose first argument is - turns off the -v and -x options. If any
       additional arguments are specified, they replace the positional parame‐
       ters.

       The options for set in ksh93 are:

       -a	      Set the export attribute for each	 variable  whose  name
		      does not contain a . that you assign a value in the cur‐
		      rent shell environment.

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

       -b	      The shell writes a message to standard error as soon  it
		      detects  that  a	background  job	 completes 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.

       -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	 sepa‐
		      rate  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 syntax 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 for‐
		      mat that can be input again to the shell to restore  the
		      settings.	 This option can be repeated to enable or dis‐
		      able multiple options.

		      The value of option must be one of the following:

		      allexport	     Same as -a.

		      bgnice	     All background jobs are run at lower pri‐
				     orities.

		      braceexpand    Same as -B.

		      emacs	     Enables or disables emacs editing mode.

		      errexit	     Same as -e.

		      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	editing	 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 provided for
				     backward compatibility.

		      notify	     Same as -b.

		      nounset	     Same as -u.

		      pipefail	     A pipeline does not  complete  until  all
				     components	 of  the  pipeline  have  com‐
				     pleted, 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 exe‐
				     cuted.

		      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 effective user id
		      to the real user id, and the effective group id  to  the
		      real  group  id. Enabling -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.

       -s	      Sort the positional parameters

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

       -u	      If  enabled, the shell displays an error message 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 command 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 function 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 func‐
	     tion 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.

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

	   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 assignment. This means that tilde sub‐
		  stitution is performed 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 attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Availability		     │SUNWcs			   │
       └─────────────────────────────┴─────────────────────────────┘

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

SunOS 5.11			  20 Nov 2007				set(1)
[top]

List of man pages available for OpenIndiana

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net