👤
Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

OpenSolaris 2009.06 - man page for set (opensolaris section 1)

set(1)					  User Commands 				   set(1)

NAME
       set,  unset,  setenv, unsetenv, export - shell built-in functions to determine the charac-
       teristics 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]...

       +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 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 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 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 envi-
       ronment	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 substitution) pattern. 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, envi-
       ronment variables are normally specified upper-case names.) With both VAR and  word  argu-
       ments  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 EXAM-
       PLES).  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 variables. 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.	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 background job  comple-
		    tions.

       -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 environment  for  a  com-
		    mand, not just those that precede the command name.

       -m	    Background	jobs  run in a separate process group and a line prints upon com-
		    pletion. The exit status of background jobs is reported in a completion  mes-
		    sage.  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.

		    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 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 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 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 sub-
       sequently assigned.

       With the export built-in, the specified names are marked for automatic export to the envi-
       ronment 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 com-
		  mand 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 substitution 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 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. Otherwise, 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 specified,
       they replace the positional parameters.

       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 current shell environment.

       -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 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 > redi-
		      rection 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,  vari-
		      able 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 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 writ-
		      ten 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 following:

		      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.

		      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  compatibil-
				     ity.

		      notify	     Same as -b.

		      nounset	     Same as -u.

		      pipefail	     A	pipeline  does	not  complete until all components of the
				     pipeline have completed, and the exit status of the pipeline
				     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 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 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.

       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 path-
       name 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  spe-
       cially in the following ways:

	   1.	  Variable  assignment lists preceding the command remain in effect when the com-
		  mand 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 substitution 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		     |SUNWcsu			   |
       +-----------------------------+-----------------------------+

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)


All times are GMT -4. The time now is 04:28 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password





Not a Forum Member?
Forgot Password?