ksh man page on HP-UX

Man page or keyword search:  
man Server   10987 pages
apropos Keyword Search (all sections)
Output format
HP-UX logo
[printable version]

ksh(1)									ksh(1)

NAME
       ksh, rksh - shell, the standard/restricted command programming language

SYNOPSIS
       option]... option]... string] [arg]...

       option]... option]... string] [arg]...

DESCRIPTION
       is  a  command  programming language that executes commands read from a
       terminal or a file.  is a restricted version of the command interpreter
       used  to	 set up login names and execution environments whose capabili‐
       ties are more controlled than those of the  standard  shell.   See  and
       sections later in this entry for details about command line options and
       arguments, particularly the command.

   Definitions
       One of the following characters:

       A tab or space character.

       A sequence of letters, digits, or underscores
		      starting with a letter or underscore.   Identifiers  are
		      used as names for and

       A sequence of characters
		      separated by one or more non-quoted metacharacters .

       A sequence of characters in the syntax of the shell language.
		      The shell reads each command and carries out the desired
		      action, either directly or by invoking  separate	utili‐
		      ties.

       A command that is carried out by the shell
		      without  creating	 a  separate  process.	 Often	called
		      ``built-in  commands''.	Except	for  documented	  side
		      effects,	most  special  commands	 can be implemented as
		      separate utilities.

       The	      character is interpreted as the beginning of a  comment.
		      See below.

   Commands
       A  is  a	 sequence  of  blank-separated words that can be preceded by a
       parameter assignment list.  (See below).	 The first word specifies  the
       name  of	 the  command  to be executed.	Except as specified below, the
       remaining words are passed as arguments to the  invoked	command.   The
       command	name  is passed as argument 0 (see exec(2)).  The of a simple-
       command is its exit  status  if	it  terminates	normally,  or  (octal)
       200+status  if  it  terminates  abnormally (see signal(5) for a list of
       status values).

       A is a sequence of one or more separated by The standard output of each
       command	except	the  last  is connected by a pipe (see pipe(2)) to the
       standard input of the next command.  Each command is run as a  separate
       process;	 the  shell waits for the last command to terminate.  The exit
       status of a pipeline is the exit status of  the	last  command  in  the
       pipeline.

       A is a sequence of one or more pipelines separated by or and optionally
       terminated by or Of these five symbols, and have equal precedence.  and
       have a higher but also equal precedence.	 A semicolon causes sequential
       execution of the preceding pipeline; an ampersand  causes  asynchronous
       execution  of  the preceding pipeline (that is, the shell does not wait
       for that pipeline to finish).  The symbol causes asynchronous execution
       of the preceding command or pipeline with a two-way pipe established to
       the parent shell (known as a The	 standard  input  and  output  of  the
       spawned	command	 can  be  written to and read from by the parent shell
       using the option of the special commands and described later.  The sym‐
       bol  causes  the list following it to be executed only if the preceding
       pipeline returns a zero (nonzero) value.	 An arbitrary number  of  new‐
       lines can appear in a list, instead of semicolons, to delimit commands.

       A is either a simple-command or one of the following.  Unless otherwise
       stated, the value returned by a command is that of the last simple-com‐
       mand executed in the command.

       Each time      is  executed,  identifier	 is set to the next word taken
		      from the word list.  If ...  is  omitted,	 executes  the
		      list once for each positional parameter set (see below).
		      Execution ends when there are no more words in the list.

       A	      command prints on standard error	(file  descriptor  2),
		      the set of words, each preceded by a number.  If ...  is
		      omitted, the positional parameters are used instead (see
		      below).	The  prompt is printed and a line is read from
		      the standard input.  If this line starts with the number
		      of  one  of the listed words, the value of the parameter
		      identifier is set to the word corresponding to this num‐
		      ber.   If	 this  line  is	 empty,	 the selection list is
		      printed again.  Otherwise the  value  of	the  parameter
		      identifier  is  set  to  null.  The contents of the line
		      read from standard input is saved in the	parameter  The
		      list  is	executed for each selection until a or end-of-
		      file (eof) is encountered.

       A	      command executes the list associated with the first pat‐
		      tern  that  matches  word.   The form of the patterns is
		      identical to that used for  file	name  generation  (see
		      below).

       The	      list  following  is  executed  and, if it returns a zero
		      exit status, the list following the first	 is  executed.
		      Otherwise,  the  list  following is executed and, if its
		      value is zero, the list following the next is  executed.
		      Failing  that, the list is executed.  If no list or list
		      is executed, returns a zero exit status.

       A	      command repeatedly executes the list, and if  the
		      exit  status  of	the last command in the list is
		      zero, executes the list; otherwise the loop  ter‐
		      minates.	 If  no	 commands  in the list are exe‐
		      cuted, returns a zero exit status; can be used in
		      place of to negate the loop termination test.

       Execute	      list  in a separate environment.	If two adjacent
		      open parentheses are needed for nesting, a  space
		      must  be	inserted to avoid arithmetic evaluation
		      as described below.

       Execute	      list, but not in a  separate  environment.   Note
		      that  is	a keyword and requires a trailing blank
		      to be recognized.

       Evaluates      expression and returns a zero  exit  status  when
		      expression is true.  See below, for a description
		      of expression.  Note that and  are  keywords  and
		      require blanks between them and expression.

       Define a function referred to by
		      identifier.   The	 body of the function is
		      the list	of  commands  between  and  (see
		      below).

       pipeline	      is  executed  and	 the  elapsed time, user
		      time, and system time are printed on stan‐
		      dard  error.  Note  that	the  keyword can
		      appear anywhere in the  pipeline	to  time
		      the entire pipeline.  To time a particular
		      command in a pipeline, see time(1).

       The following keywords are recognized only as  the  first
       word of a command and when not quoted:

   Comments
       A word beginning with causes that word and all subsequent
       characters up to a newline to be ignored.

   Aliasing
       The first word of each command is replaced by the text of
       an  if  an alias for this word has been defined.	 An con‐
       sists of any number of characters  excluding  metacharac‐
       ters,  quoting  characters,  file  expansion  characters,
       parameter and command substitution  characters,	and  The
       replacement  string  can	 contain any valid shell script,
       including the metacharacters  listed  above.   The  first
       word of each command in the replaced text, other than any
       that are in the process of being replaced, is tested  for
       additional  aliases.   If the last character of the alias
       value is a the word following the alias is  also	 checked
       for alias substitution.

       Aliases	can  be	 used  to redefine special built-in com‐
       mands, but cannot be used to redefine the keywords listed
       above.  Aliases can be created, listed, and exported with
       the  command  and  can  be  removed  with  the	command.
       Exported	 aliases remain in effect for subshells but must
       be reinitialized for separate invocations  of  the  shell
       (see below).

       is  performed  when  scripts are read, not while they are
       executed.  Therefore, for it to take effect, must be exe‐
       cuted before the command referring to the alias is read.

       Aliases	are frequently used as a shorthand for full path
       names.  An option to the	 aliasing  facility  allows  the
       value  of  the  alias to be automatically set to the full
       path name of the corresponding  command.	  These	 aliases
       are  called  The	 value of a tracked alias is defined the
       first time the identifier is read and  becomes  undefined
       each  time  the	variable is reset.  These aliases remain
       tracked so that the next reference redefines  the  value.
       Several tracked aliases are compiled into the shell.  The
       option of the command converts each command name that  is
       an identifier into a tracked alias.

       The  following  are  compiled  into  the shell but can be
       unset or redefined:

   Tilde Substitution
       After alias  substitution  is  performed,  each	word  is
       checked	to see if it begins with an unquoted If it does,
       the word up to a is checked to see if it matches	 a  user
       name  in	 the  file.   If  a  match is found, the and the
       matched login name are replaced by the login directory of
       the  matched  user.  This is called a tilde substitution.
       If  no  match  is  found,  the  original	 text  is   left
       unchanged.   A alone or before a is replaced by the value
       of the parameter.  A followed by a or is replaced by  the
       value  of  the  parameter and respectively.  In addition,
       tilde substitution is  attempted	 when  the  value  of  a
       parameter assignment begins with a

   Command Substitution
       The  standard output from a command enclosed in parenthe‐
       sis preceded by a dollar sign or a pair	of  back  single
       quotes  (accent	grave)	can  be used as part or all of a
       word; trailing  newlines	 are  removed.	 In  the  second
       (archaic)  form,	 the  string  between the quotes is pro‐
       cessed for special quoting characters before the	 command
       is executed (see below).	 The command substitution can be
       replaced by the equivalent but faster

       Command substitution of most special commands (built-ins)
       that do not perform I/O redirection are carried out with‐
       out creating a separate process.	 However,  command  sub‐
       stitution  of  a	 function  creates a separate process to
       execute the function and all commands (built-in or other‐
       wise) in that function.

       An  arithmetic  expression enclosed in double parentheses
       preceded by a dollar sign is replaced by the value of the
       arithmetic  expression within the double parentheses (see
       below for a description of arithmetic expressions).

   Parameter Substitution
       A is an one or more digits, or any of the characters  and
       A  (a parameter denoted by an identifier) has a value and
       zero  or	 more  attributes.   Named  parameters	can   be
       assigned	 values and attributes by using the special com‐
       mand.  Attributes supported by are described  later  with
       the special command.  Exported parameters pass values and
       attributes to the environment.

       The shell supports a limited one-dimensional array facil‐
       ity.  An element of an array parameter is referenced by a
       subscript.  A subscript is denoted by a	followed  by  an
       arithmetic expression (see below) followed by a To assign
       values to an array, use name value ....	The value of all
       subscripts  must	 be  in the range of through Arrays need
       not be declared.	 Any reference to a named parameter with
       a  valid	 subscript  is	legal and an array is created if
       necessary.  Referencing an array without a  subscript  is
       equivalent to referencing the first element.

       The  value  of  a named parameter can also be assigned by
       writing:

       If the integer attribute is set for name,  the  value  is
       subject to arithmetic evaluation as described below.

       Positional  parameters,	parameters  denoted by a number,
       can be assigned values with the special command.	 Parame‐
       ter is set from argument zero when the shell is invoked.

       The  character is used to introduce substitutable parame‐
       ters.

	      Substitute the value of the parameter, if any.
				  Braces   are	 required   when
				  parameter  is	 followed  by  a
				  letter, digit,  or  underscore
				  that should not be interpreted
				  as part of its name or when  a
				  named	   parameter   is   sub‐
				  scripted.

				  If parameter is  one	or  more
				  digits,  it  is  a  positional
				  parameter.	 A    positional
				  parameter  of	 more  than  one
				  digit	 must  be  enclosed   in
				  braces.   If	parameter  is or
				  all the positional parameters,
				  starting  with are substituted
				  (separated by a field	 separa‐
				  tor  character).   If an array
				  identifier with  subscript  or
				  is  used,  the  value for each
				  element is substituted  (sepa‐
				  rated	 by  a	field  separator
				  character).  The  shell  reads
				  all the characters from to the
				  matching as part of  the  same
				  word	 even	if  it	contains
				  braces or metacharacters.

	      If		  parameter is or the number  of
				  positional  parameters is sub‐
				  stituted.    Otherwise,    the
				  length  of  the  value  of the
				  parameter is substituted.

	      Substitute the number of elements in the array
				  identifier.

	      If		  parameter is set and	is  non-
				  null,	 substitute  its  value;
				  otherwise substitute word.

	      If		  parameter is	not  set  or  is
				  null,	 set  it  to  word; then
				  substitute the  value	 of  the
				  parameter.  Positional parame‐
				  ters	cannot	be  assigned  in
				  this way.

	      If		  parameter  is	 set and is non-
				  null,	 substitute  its  value;
				  otherwise, print word and exit
				  from the shell.   If	word  is
				  omitted, a standard message is
				  printed.

	      If		  parameter is set and	is  non-
				  null,	 substitute word; other‐
				  wise substitute nothing.

	      If		  the  shell  pat‐
				  tern matches the
				  beginning of the
				  value of parame‐
				  ter,	the  value
				  of  this substi‐
				  tution  is   the
				  value	  of   the
				  parameter   with
				  the matched por‐
				  tion	  deleted;
				  otherwise    the
				  value	 of   this
				  parameter	is
				  substituted.	In
				  the former case,
				  the	  smallest
				  matching pattern
				  is  deleted;	in
				  the latter case,
				  the	   largest
				  matching pattern
				  is deleted.

	      If the shell	  pat‐
				  tern
				  matches
				  the
				  end
				  of
				  the
				  value
				  of
				  param‐
				  e‐
				  ter,
				  the
				  value
				  of
				  param‐
				  e‐
				  ter
				  with
				  the
				  matched
				  part
				  is
				  deleted;
				  oth‐
				  er‐
				  wise
				  sub‐
				  sti‐
				  tute
				  the
				  value
				  of
				  param‐
				  e‐
				  ter.
				  In
				  the
				  for‐
				  mer,
				  the
				  small‐
				  est
				  match‐
				  ing
				  pat‐
				  tern
				  is
				  deleted;
				  in
				  the
				  lat‐
				  ter,
				  the
				  largest
				  match‐
				  ing
				  pat‐
				  tern
				  is
				  deleted.

	      In  the above, word is
	      not  evaluated  unless
	      it is used as the sub‐
	      stituted	     string.
	      Thus, in the following
	      example,	is  executed
	      only  if is not set or
	      is null:

	      If the colon is  omit‐
	      ted   from  the  above
	      expressions, the shell
	      only  checks to deter‐
	      mine  whether  or	 not
	      parameter is set.

       The  following parameters are
       set  automatically   by	 the
       shell:

	      The  number  of  posi‐
	      tional  parameters  in
	      decimal.

	      Options	supplied  to
	      the shell	 on  invoca‐
	      tion or by
			     the
			     com‐
			     mand.

	      The    decimal   value
	      returned by  the	last
	      executed command.

	      The  process number of
	      this shell.

	      Initially,  the  value
	      of
			     is	  an
			     abso‐
			     lute
			     path‐
			     name of
			     the
			     shell
			     or
			     script
			     being
			     exe‐
			     cuted
			     as
			     passed
			     in	 the
			     envi‐
			     ron‐
			     ment.
			     Subse‐
			     quently
			     it	  is
			     assigned
			     the
			     last
			     argu‐
			     ment of
			     the
			     previ‐
			     ous
			     com‐
			     mand.
			     This
			     parame‐
			     ter  is
			     not set
			     for
			     com‐
			     mands
			     which
			     are
			     asyn‐
			     chro‐
			     nous.
			     This
			     parame‐
			     ter  is
			     also
			     used to
			     hold
			     the
			     name of
			     the
			     match‐
			     ing
			     file
			     when
			     check‐
			     ing for
			     mail.

	      The  process number of
	      the  last	  background
	      command invoked.

	      If  this	variable  is
	      set,
			     its
			     value
			     is used
			     to
			     define
			     the
			     width
			     of	 the
			     edit
			     window
			     for the
			     shell
			     edit
			     modes
			     and for
			     print‐
			     ing
			     lists.
			     In	   a
			     win‐
			     dowed
			     envi‐
			     ron‐
			     ment,
			     if	 the
			     shell
			     detects
			     that
			     the
			     window
			     size
			     has
			     changed,
			     the
			     shell
			     updates
			     the
			     value
			     of

	      The value of   as	 set
			     by	 the
			     most
			     recently
			     failed
			     system
			     call.
			     This
			     value
			     is sys‐
			     tem
			     depen‐
			     dent
			     and  is
			     intended
			     for
			     debug‐
			     ging
			     pur‐
			     poses.

	      The line number of the
	      current  line   within
	      the script or
			     func‐
			     tion
			     being
			     exe‐
			     cuted.

	      If  this	variable  is
	      set,
			     the
			     value
			     is used
			     to
			     deter‐
			     mine
			     the
			     column
			     length
			     for
			     print‐
			     ing
			     lists.
			     lists
			     print
			     verti‐
			     cally
			     until
			     about
			     two-
			     thirds
			     of
			     lines
			     are
			     filled.
			     In	   a
			     win‐
			     dowed
			     envi‐
			     ron‐
			     ment,
			     if	 the
			     shell
			     detects
			     that
			     the
			     window
			     size
			     has
			     changed,
			     the
			     shell
			     updates
			     the
			     value
			     of

	      The  previous  working
	      directory set by the
			     com‐
			     mand.

	      The  value of the last
	      option  argument	pro‐
	      cessed by the
			     special
			     com‐
			     mand.

	      The  index of the last
	      option  argument	pro‐
	      cessed by the
			     special
			     com‐
			     mand.

	      The  process number of
	      the  parent   of	 the
	      shell.

	      The   present  working
	      directory set by the
			     com‐
			     mand.

	      Each time this parame‐
	      ter  is  evaluated,  a
	      random  integer,	uni‐
	      formly
			     dis‐
			     trib‐
			     uted
			     between
			     0	 and
			     32767,
			     is gen‐
			     erated.
			     The
			     sequence
			     of ran‐
			     dom
			     numbers
			     can  be
			     ini‐
			     tial‐
			     ized by
			     assign‐
			     ing   a
			     numeric
			     value
			     to

	      This  parameter is set
	      by the
			     state‐
			     ment
			     and  by
			     the
			     special
			     command
			     when no
			     argu‐
			     ments
			     are
			     sup‐
			     plied.

	      Each time this parame‐
	      ter is referenced,
			     the
			     number
			     of sec‐
			     onds
			     since
			     shell
			     invoca‐
			     tion is
			     returned.
			     If this
			     parame‐
			     ter  is
			     assigned
			     a
			     value,
			     the
			     value
			     returned
			     upon
			     refer‐
			     ence is
			     the
			     value
			     that
			     was
			     assigned
			     plus
			     the
			     number
			     of sec‐
			     onds
			     since
			     the
			     assign‐
			     ment.

       The following parameters	 are
       used by the shell:

	      The  search  path	 for
	      the
			     com‐
			     mand.

	      If  the  value of this
	      variable ends in
			     or	 and
			     the
			     vari‐
			     able is
			     not
			     set,
			     the
			     corre‐
			     spond‐
			     ing
			     option
			     is
			     turned
			     on (see
			     in
			     below).

	      If  this	parameter is
	      set,
			     parame‐
			     ter
			     substi‐
			     tution
			     is per‐
			     formed
			     on	 the
			     value
			     to gen‐
			     erate
			     the
			     path
			     name of
			     the
			     script
			     to	  be
			     exe‐
			     cuted
			     when
			     the
			     shell
			     is
			     invoked
			     (see
			     below).
			     This
			     file is
			     typi‐
			     cally
			     used
			     for
			     alias
			     and
			     func‐
			     tion
			     defini‐
			     tions.

	      The   default   editor
	      name for the
			     com‐
			     mand.

	      The  search  path	 for
	      function definitions.
			     This
			     path is
			     searched
			     when  a
			     func‐
			     tion
			     with
			     the
			     attribute
			     is ref‐
			     erenced
			     and
			     when  a
			     command
			     is	 not
			     found.
			     If	  an
			     exe‐
			     cutable
			     file is
			     found,
			     then it
			     is read
			     and
			     exe‐
			     cuted
			     in	 the
			     current
			     envi‐
			     ron‐
			     ment.

	      Internal field separa‐
	      tors, normally
			     space,
			     tab,
			     and
			     newline
			     that
			     are
			     used to
			     sepa‐
			     rate
			     command
			     words
			     result‐
			     ing
			     from
			     command
			     or
			     parame‐
			     ter
			     substi‐
			     tution,
			     and for
			     sepa‐
			     rating
			     words
			     with
			     the
			     special
			     command
			     The
			     first
			     charac‐
			     ter  of
			     the
			     parame‐
			     ter  is
			     used to
			     sepa‐
			     rate
			     argu‐
			     ments
			     for the
			     substi‐
			     tution
			     (see
			     below).

	      If this  parameter  is
	      set  when the shell is
	      invoked,
			     its
			     value
			     is	 the
			     path
			     name of
			     the
			     file
			     that is
			     used to
			     store
			     the
			     command
			     his‐
			     tory.
			     The
			     default
			     value
			     is	  If
			     the
			     user
			     has
			     appro‐
			     priate
			     privi‐
			     leges
			     and  no
			     is
			     given,
			     then no
			     history
			     file is
			     used
			     (see
			     below).

	      If  this	parameter is
	      set when the shell  is
	      invoked,
			     the
			     number
			     of pre‐
			     viously
			     entered
			     com‐
			     mands
			     acces‐
			     sible
			     to this
			     shell
			     will be
			     greater
			     than or
			     equal
			     to this
			     number.
			     The
			     default
			     is

	      The  default  argument
	      (home  directory)	 for
	      the
			     com‐
			     mand.

	      If  this	parameter is
	      set to the name  of  a
	      mail file and the
			     parame‐
			     ter  is
			     not
			     set,
			     the
			     shell
			     informs
			     the
			     user of
			     arrival
			     of mail
			     in	 the
			     speci‐
			     fied
			     file.

	      This  variable  speci‐
	      fies  how	 often	 (in
	      seconds) the
			     shell
			     checks
			     for
			     changes
			     in	 the
			     modifi‐
			     cation
			     time of
			     any  of
			     the
			     files
			     speci‐
			     fied by
			     the  or
			     parame‐
			     ters.
			     The
			     default
			     value
			     is sec‐
			     onds.
			     When
			     the
			     time
			     has
			     elapsed
			     the
			     shell
			     checks
			     before
			     issuing
			     the
			     next
			     prompt.

	      A list of	 file  names
	      separated	  by  colons
	      (:).
			     If this
			     parame‐
			     ter  is
			     set,
			     the
			     shell
			     informs
			     the
			     user of
			     any
			     modifi‐
			     cations
			     to	 the
			     speci‐
			     fied
			     files
			     that
			     have
			     occurred
			     within
			     the
			     last
			     sec‐
			     onds.
			     Each
			     file
			     name
			     can  be
			     fol‐
			     lowed
			     by	   a
			     and   a
			     message
			     to	  be
			     printed,
			     in
			     which
			     case
			     the
			     message
			     under‐
			     goes
			     parame‐
			     ter and
			     command
			     substi‐
			     tution
			     with
			     the
			     parame‐
			     ter
			     defined
			     as	 the
			     name of
			     the
			     changed
			     file.
			     The
			     default
			     message
			     is

	      The  search  path	 for
	      commands (see
			     below).
			     The
			     user
			     cannot
			     change
			     if exe‐
			     cuting
			     (except
			     in	 the
			     file).

	      The  value   of	this
	      parameter	 is expanded
	      for parameter  substi‐
	      tution,
			     to
			     define
			     the
			     primary
			     prompt
			     string
			     which,
			     by
			     default,
			     is fol‐
			     lowed
			     by	   a
			     space
			     charac‐
			     ter.
			     The
			     charac‐
			     ter  in
			     the
			     primary
			     prompt
			     string
			     is
			     replaced
			     by	 the
			     command
			     number
			     (see
			     below).
			     To
			     include
			     a	  in
			     the
			     prompt,
			     use

	      Secondary	      prompt
	      string, by default
			     fol‐
			     lowed
			     by	   a
			     space
			     charac‐
			     ter.

	      Selection	      prompt
	      string used within a
			     loop,
			     by
			     default
			     fol‐
			     lowed
			     by	   a
			     space
			     charac‐
			     ter.

	      The  value   of	this
	      variable	is  expanded
	      for parameter
			     substi‐
			     tution
			     and
			     pre‐
			     cedes
			     each
			     line of
			     an exe‐
			     cution
			     trace.
			     If	  is
			     unset,
			     the
			     execu‐
			     tion
			     trace
			     prompt
			     is fol‐
			     lowed
			     by	   a
			     space
			     charac‐
			     ter.

	      The path name  of	 the
	      shell  is	 kept in the
	      environment.
			     When
			     invoked,
			     the
			     shell
			     is
			     restricted
			     if	 the
			     value
			     of this
			     vari‐
			     able
			     con‐
			     tains
			     an	  in
			     the
			     base‐
			     name.

	      If  set  to  a   value
	      greater than zero,
			     the
			     shell
			     termi‐
			     nates
			     if	   a
			     command
			     is	 not
			     entered
			     within
			     the
			     pre‐
			     scribed
			     number
			     of sec‐
			     onds
			     after
			     issuing
			     the
			     prompt.

	      Invokes	the   corre‐
	      sponding	option	when
	      the value of
			     this
			     vari‐
			     able
			     ends in
			     emacs,
			     gmacs,
			     or	  vi
			     (see in
			     below).

       The  shell gives default val‐
       ues to and and are never	 set
       automatically  by  the  shell
       (although  and  are  set	  by
       login(1)).

   Blank Interpretation
       After  parameter	 and command
       substitution, the results  of
       substitution  are scanned for
       field  separator	  characters
       (found in and split into dis‐
       tinct  arguments	 where	such
       characters     are     found.
       retains explicit	 null  argu‐
       ments or but removes implicit
       null arguments (those result‐
       ing from parameters that have
       no values).

   File Name Generation
       Following substitution,	each
       command	word is processed as
       a  pattern  for	 file	name
       expansion  unless  the option
       has been The form of the pat‐
       terns is the Pattern Matching
       Notation	 defined   by	reg‐
       exp(5).	The word is replaced
       with sorted file names match‐
       ing  the pattern.  If no file
       name is	found  that  matches
       the pattern, the word is left
       unchanged.

       In addition to  the  notation
       described  in regexp(5), rec‐
       ognizes	composite   patterns
       made  up	 of one or more pat‐
       tern  lists  separated	from
       each  other  with a Composite
       patterns can be	formed	with
       one or more of the following:

	      Optionally matches any
	      one of the given	pat‐
	      terns.

	      Matches  zero  or more
	      occurrences   of	 the
	      given patterns.

	      Matches  one  or	more
	      occurrences   of	 the
	      given patterns.

	      Matches exactly one of
	      the given patterns.

	      Matches	   anything,
	      except   one   of	 the
	      given patterns.

   Quoting
       Each  of	 the  metacharacters
       listed  above (See above) has
       a  special  meaning  to	 the
       shell  and causes termination
       of a word unless	 quoted.   A
       character  can be (i.e., made
       to stand for itself) by	pre‐
       ceding  it with a The pair is
       ignored.	   All	  characters
       enclosed	 between  a  pair of
       single	quote	marks	 are
       quoted.

       A  single quote cannot appear
       within single quotes.  Inside
       double	quote  marks  (...),
       parameter and command substi‐
       tution  occurs and quotes the
       characters  ,  and  and	have
       identical  meanings  when not
       quoted  or  when	 used  as  a
       parameter assignment value or
       as  a  file  name.   However,
       when  used as a command argu‐
       ment,  is  equivalent  to   ,
       where  d is the first charac‐
       ter of the parameter, whereas
       is equivalent to ....

       Inside	back   single  quote
       (accent grave)  marks  quotes
       the characters and

       If  the	back  single  quotes
       occur within  double  quotes,
       also quotes the character .

       The  special  meaning of key‐
       words  or  aliases   can	  be
       removed	by quoting any char‐
       acter of	 the  keyword.	 The
       recognition of function names
       or  special   command   names
       listed	 below	 cannot	  be
       altered by quoting them.

   Arithmetic Evaluation
       The ability to perform  inte‐
       ger  arithmetic	is  provided
       with  the   special   command
       Evaluations   are   performed
       using long arithmetic.	Con‐
       stants  take  the  form where
       base  is	 a  decimal   number
       between	two  and  thirty-six
       representing  the  arithmetic
       base  and  n  is	 a number in
       that base.  If base is  omit‐
       ted, base 10 is used.

       An arithmetic expression uses
       the same syntax,	 precedence,
       and  associativity of expres‐
       sion of the C language.	 All
       the integral operators, other
       than   and   are	  supported.
       Variables  can  be referenced
       by name within an  arithmetic
       expression  without using the
       parameter  substitution	syn‐
       tax.  When a variable is ref‐
       erenced, its value is  evalu‐
       ated as an arithmetic expres‐
       sion.

       An internal integer represen‐
       tation  of  a variable can be
       specified with the option  of
       the  special command.  Arith‐
       metic evaluation is performed
       on  the value of each assign‐
       ment to a variable  with	 the
       attribute.   If	you  do	 not
       specify an  arithmetic  base,
       the  first  assignment to the
       variable	   determines	 the
       arithmetic  base.   This base
       is used when  parameter	sub‐
       stitution occurs.

       Since  many of the arithmetic
       operators require quoting, an
       alternative  form of the com‐
       mand is	provided.   For	 any
       command	beginning  with	 all
       characters until the matching
       are   treated   as  a  quoted
       expression.  More  precisely,
       is equivalent to

   Prompting
       When  used interactively, the
       shell prompts with the  value
       of  before reading a command.
       If at any time a	 newline  is
       typed  and  further  input is
       needed to complete a command,
       the   secondary	prompt	(the
       value of is issued.

   Conditional Expressions.
       A is used with  the  compound
       command to test attributes of
       files and to compare strings.
       Word  splitting and file name
       generation are not  performed
       on the words between and Each
       expression can be constructed
       from  one or more of the fol‐
       lowing	unary	or    binary
       expressions:

	      True if		  file
				  exists.
	      True if		  file
				  exists
				  and
				  is
				  a
				  block
				  spe‐
				  cial
				  file.
	      True if		  file
				  exists
				  and
				  is
				  a
				  char‐
				  ac‐
				  ter
				  spe‐
				  cial
				  file.
	      True if		  file
				  exists
				  and
				  is
				  a
				  direc‐
				  tory.
	      True if		  file
				  exists
				  and
				  is
				  an
				  ordi‐
				  nary
				  file.
	      True if		  file
				  exists
				  and
				  is
				  has
				  its
				  set‐
				  gid
				  bit
				  set.
	      True if		  file
				  exists
				  and
				  is
				  a
				  a
				  sym‐
				  bolic
				  link.
	      True if		  file
				  exists
				  and
				  is
				  has
				  its
				  sticky
				  bit
				  set.
	      True if length of	  string
				  is
				  nonzero.
	      True if option named
				  option
				  is
				  on.
	      True if		  file
				  exists
				  and
				  is
				  a
				  fifo
				  spe‐
				  cial
				  file
				  or
				  a
				  pipe.
	      True if		  file
				  exists
				  and
				  is
				  read‐
				  able
				  by
				  cur‐
				  rent
				  process.
	      True if		  file
				  exists
				  and
				  has
				  size
				  greater
				  than
				  zero.
	      True if file  descrip‐
	      tor number
				  fildes
				  is
				  open
				  and
				  asso‐
				  ci‐
				  ated
				  with
				  a
				  ter‐
				  mi‐
				  nal
				  device.
	      True if		  file
				  exists
				  and
				  is
				  has
				  its
				  setuid
				  bit
				  set.
	      True if		  file
				  exists
				  and
				  is
				  writable
				  by
				  cur‐
				  rent
				  process.
	      True if		  file
				  exists
				  and
				  is
				  exe‐
				  cutable
				  by
				  cur‐
				  rent
				  process.
				  If
				  file
				  exists
				  and
				  is
				  a
				  direc‐
				  tory,
				  the
				  cur‐
				  rent
				  process
				  has
				  per‐
				  mis‐
				  sion
				  to
				  search
				  in
				  the
				  direc‐
				  tory.
	      True if length of	  string
				  is
				  zero.
	      True if		  file
				  exists
				  and
				  is
				  a
				  sym‐
				  bolic
				  link.
	      True if		  file
				  exists
				  and
				  is
				  owned
				  by
				  the
				  effec‐
				  tive
				  user
				  ID
				  of
				  this
				  process.
	      True if		  file
				  exists
				  and
				  its
				  group
				  matches
				  the
				  effec‐
				  tive
				  group
				  ID
				  of
				  this
				  process.
	      True if		  file
				  exists
				  and
				  is
				  a
				  socket.
	      True if		  file1
				  exists
				  and
				  is
				  newer
				  than
				  file2.
	      True if		  file1
				  exists
				  and
				  is
				  older
				  than
				  file2.
	      True if		  file1
				  and
				  file2
				  exist
				  and
				  refer
				  to
				  the
				  same
				  file.
	      True if		  string
				  matches
				  pat‐
				  tern.
	      True if		  string
				  does
				  not
				  match
				  pat‐
				  tern.
	      True if		  string1
				  comes
				  before
				  string2
				  based
				  on
				  the
				  ASCII
				  value
				  of
				  their
				  char‐
				  ac‐
				  ters.
	      True if		  string1
				  comes
				  after
				  string2
				  based
				  on
				  the
				  ASCII
				  value
				  of
				  their
				  char‐
				  ac‐
				  ters.
	      True if		  exp1
				  is
				  equal
				  to
				  exp2.
	      True if		  exp1
				  is
				  not
				  equal
				  to
				  exp2.
	      True if		  exp1
				  is
				  less
				  than
				  exp2.
	      True if		  exp1
				  is
				  greater
				  than
				  exp2.
	      True if		  exp1
				  is
				  less
				  than
				  or
				  equal
				  to
				  exp2.
	      True if		  exp1
				  is
				  greater
				  than
				  or
				  equal
				  to
				  exp2.

       A compound expression can  be
       constructed from these primi‐
       tives by	 using	any  of	 the
       following, listed in decreas‐
       ing order of precedence.

	      True, if				 expres‐
						 sion
						 is
						 true.
						 Used
						 to
						 group
						 expres‐
						 sions.
	      True if				 expres‐
						 sion
						 is
						 false.
	      True, if				 expres‐
						 sion1
						 and
						 expres‐
						 sion2
						 are
						 both
						 true.
	      True, if either			 expres‐
						 sion1
						 or
						 expres‐
						 sion2
						 is
						 true.

   Input/Output
       Before a command is executed,
       its  input  and output can be
       redirected  using  a  special
       notation	 interpreted  by the
       shell.	The  following	 can
       appear  anywhere in a simple-
       command	or  can	 precede  or
       follow  a command and are not
       passed on to the invoked com‐
       mand.   Command and parameter
       substitution  occurs   before
       word or digit is used, except
       as noted	 below.	  File	name
       generation occurs only if the
       pattern matches a single file
       and  blank  interpretation is
       not performed.

	      Use file	     word as
			     stan‐
			     dard
			     input
			     (file
			     descrip‐
			     tor

	      Use file	     word as
			     stan‐
			     dard
			     output
			     (file
			     descrip‐
			     tor  If
			     the
			     file
			     does
			     not
			     exist,
			     it	  is
			     cre‐
			     ated.
			     If	 the
			     file
			     exists,
			     and the
			     option
			     is	 on,
			     an
			     error
			     occurs;
			     other‐
			     wise,
			     the
			     file is
			     trun‐
			     cated
			     to zero
			     length.
			     Note
			     that
			     the
			     test is
			     only
			     applied
			     to reg‐
			     ular
			     files,
			     not  to
			     named
			     pipes
			     or
			     other
			     file
			     types.

	      Sames as	     except
			     that it
			     over‐
			     rides
			     the
			     option.

	      Use file	     word as
			     stan‐
			     dard
			     output.
			     If	 the
			     file
			     exists,
			     output
			     is
			     appended
			     to	  it
			     (by
			     first
			     search‐
			     ing for
			     the
			     end-of-
			     file);
			     other‐
			     wise,
			     the
			     file is
			     cre‐
			     ated.

	      Open file	     word
			     for
			     reading
			     and
			     writing
			     as
			     stan‐
			     dard
			     input.
			     If	 the
			     file
			     does
			     not
			     exist
			     it	  is
			     cre‐
			     ated.

	      The   shell  input  is
	      read up to a line that
	      matches
			     word,
			     or	  to
			     an end-
			     of-
			     file.
			     No
			     parame‐
			     ter
			     substi‐
			     tution,
			     command
			     substi‐
			     tution,
			     or file
			     name
			     genera‐
			     tion is
			     per‐
			     formed
			     on
			     word.
			     The
			     result‐
			     ing
			     docu‐
			     ment,
			     called
			     a
			     becomes
			     the
			     stan‐
			     dard
			     input.
			     If	 any
			     charac‐
			     ter  of
			     word is
			     quoted,
			     no
			     inter‐
			     preta‐
			     tion is
			     placed
			     upon
			     the
			     charac‐
			     ters of
			     the
			     docu‐
			     ment.
			     Other‐
			     wise,
			     parame‐
			     ter and
			     command
			     substi‐
			     tution
			     occurs,
			     is
			     ignored,
			     and
			     must be
			     used to
			     quote
			     the
			     charac‐
			     ters
			     and the
			     first
			     charac‐
			     ter  of
			     word.
			     If	  is
			     appended
			     to	 all
			     leading
			     tabs
			     are
			     stripped
			     from
			     word
			     and
			     from
			     the
			     docu‐
			     ment.

	      The standard input  is
	      duplicated  from	file
	      descriptor
			     digit
			     (see
			     dup(2)).

	      The standard output is
	      duplicated   to	file
	      descriptor
			     digit
			     (see
			     dup(2)).

	      The standard input  is
	      closed.

	      The standard output is
	      closed.

	      The input from the co-
	      process  is  moved  to
	      standard input.

	      The output to the	 co-
	      process  is  moved  to
	      standard output.

       If one of the above  is	pre‐
       ceded  by  a  digit, the file
       descriptor  number  cited  is
       that  specified	by the digit
       (instead of  the	 default  or
       For example:

       means file descriptor 2 is to
       be opened for  writing  as  a
       duplicate  of file descriptor
       1.

       Redirection order is signifi‐
       cant because the shell evalu‐
       ates redirections referencing
       file  descriptors in terms of
       the currently open file asso‐
       ciated	with  the  specified
       file descriptor at  the	time
       of evaluation.  For example:

	      ...  1>fname 2>&1

       first assigns file descriptor
       1 (standard output)  to	file
       fname,	then   assigns	file
       descriptor 2 (standard error)
       to  the file assigned to file
       descriptor  1;  i.e.,  fname.
       On  the	other  hand,  if the
       order   of   redirection	  is
       reversed as follows:

	      ...  2>&1 1>fname

       file descriptor 2 is assigned
       to the current standard	out‐
       put  (user  terminal unless a
       different    assignment	  is
       inherited).   File descriptor
       1 is then reassigned to	file
       fname  without  changing	 the
       assignment of file descriptor
       2.

       The input and output of a co-
       process can  be	moved  to  a
       numbered	   file	  descriptor
       allowing	 other	commands  to
       write  to  them and read from
       them using  the	above  redi‐
       rection	operators.   If	 the
       input  of  the  current	 co-
       process	is  moved  to a num‐
       bered	file	 descriptor,
       another	 co-process  can  be
       started.

       If a command is	followed  by
       and  job control is inactive,
       the  default  standard  input
       for  the command is the empty
       file Otherwise, the  environ‐
       ment  for  the execution of a
       command	contains  the	file
       descriptors  of	the invoking
       shell	as    modified	  by
       input/output specifications.

   Environment
       The  (see  environ(5))  is  a
       list  of	  name-value   pairs
       passed to an executed program
       much like a  normal  argument
       list.   The names must be and
       the  values   are   character
       strings.

       The  shell interacts with the
       environment in several  ways.
       When invoked, the shell scans
       the environment and creates a
       parameter   for	 each	name
       found, gives  it	 the  corre‐
       sponding	 value, and marks it
       export.	 Executed   commands
       inherit	the environment.  If
       the user modifies the  values
       of  these  parameters or cre‐
       ates new ones by using the or
       commands,  the  values become
       part of the environment.	 The
       environment  seen by any exe‐
       cuted command  is  thus	com‐
       posed of any name-value pairs
       originally inherited  by	 the
       shell  whose  values  can  be
       modified	  by   the   current
       shell,	plus  any  additions
       which must  be  noted  in  or
       commands.

       The  environment for any sim‐
       ple-command or  function	 can
       be  augmented by prefixing it
       with one	 or  more  parameter
       assignments.    A   parameter
       assignment argument takes the
       form For example,

       and

       are equivalent (as far as the
       above  execution	 of  cmd  is
       concerned  except for special
       commands	 listed	 below	that
       are  preceded  by  a  percent
       sign).

       If the  option  is  set,	 all
       parameter   assignment  argu‐
       ments are placed in the envi‐
       ronment,	 even  if they occur
       after the command name.	 The
       following    echo   statement
       prints After  the  option  is
       set,  the  second echo state‐
       ment prints only

       This feature is intended	 for
       use  with scripts written for
       early versions of the  shell,
       and its use in new scripts is
       strongly discouraged.  It  is
       likely to disappear someday.

   Functions
       The keyword (described in the
       section	above)	is  used  to
       define	 shell	  functions.
       Shell functions are read	 and
       stored	internally.    Alias
       names are resolved  when	 the
       function	 is read.  Functions
       are executed  like  commands,
       with  the arguments passed as
       positional  parameters	(see
       below).

       Functions execute in the same
       process as the caller  except
       that  command substitution of
       a  function  creates  a	 new
       process.	 Functions share all
       files  and  present   working
       directory  with	the  caller.
       Traps caught  by	 the  caller
       are  reset  to  their default
       action inside  the  function.
       If  a function does not catch
       or specifically ignore a trap
       condition,  the function ter‐
       minates and the condition  is
       passed  on  to the caller.  A
       trap on set inside a function
       is  executed  after the func‐
       tion completes in  the  envi‐
       ronment of the caller.  Ordi‐
       narily, variables are  shared
       between	the  calling program
       and the	function.   However,
       the   special   command	used
       within  a  function   defines
       local  variables	 whose scope
       includes the current function
       and all functions it calls.

       The  special  command is used
       to   return   from   function
       calls.	Errors	within func‐
       tions return control  to	 the
       caller.

       Function	 identifiers  can be
       listed with the option of the
       special	 command.   Function
       identifiers and	the  associ‐
       ated  text  of  the functions
       can be listed with the option
       when    used   interactively.
       stores the  function  defini‐
       tions  in  the  history file.
       Hence, will not	display	 the
       function	 definitions  if the
       history file is	lost  or  if
       the  option  was	 on when the
       function was read.  Functions
       can  be	undefined  with	 the
       option of  the  special	com‐
       mand.

       Ordinarily,   functions	 are
       unset when the shell executes
       a  shell	 script.  The option
       of the command allows a func‐
       tion   to   be	exported  to
       scripts	that  are   executed
       without reinvoking the shell.
       Functions   that	  must	  be
       defined across separate invo‐
       cations of the  shell  should
       be placed in the file.

   Jobs
       If  the option of the command
       is turned on, an	 interactive
       shell  associates a with each
       pipeline.  It keeps  a  table
       of  current  jobs, printed by
       the command, and assigns them
       small  integer numbers.	When
       a  job	is   started   asyn‐
       chronously   with  the  shell
       prints a line resembling:

       indicating that job number  1
       was   started  asynchronously
       and   had   one	 (top-level)
       process	whose process ID was
       1234.

       If you are running a job	 and
       want  to	 do  something else,
       type  the  suspend  character
       (usually	 (Ctrl-Z)) to send a
       STOP signal  to	the  current
       job.   The  shell  then indi‐
       cates that the job  has	been
       `Stopped', and prints another
       prompt.	The  state  of	this
       job  can	 be  manipulated  by
       using the command to  put  it
       in  the	background,  running
       other commands (while  it  is
       stopped	or  running  in	 the
       background),  and  eventually
       restarting  or  returning the
       job  to	the  foreground	  by
       using  the  command.  A takes
       effect immediately and resem‐
       bles   an   interrupt,  since
       pending	output	and   unread
       input  are  discarded when is
       typed.

       A job run in  the  background
       stops  if  it  tries  to read
       from  the  terminal.    Back‐
       ground	jobs   normally	 are
       allowed	to  produce  output,
       but can be disabled by giving
       the  command.   If  the	user
       sets  this  tty option, back‐
       ground jobs stop when  trying
       to produce output.

       There  are  several  ways  to
       refer to jobs in	 the  shell.
       A  job  can be referred to by
       the process ID of any process
       in  the	job or by one of the
       following:

	      The job with the given
	      number.
	      Any  job whose command
	      line begins with
				  string.
	      Any  job whose command
	      line contains
				  string.
	      Current job.
	      Equivalent to
	      Previous job.

       The  shell learns immediately
       when a process changes state.
       It  informs  the	 user when a
       job is blocked and  prevented
       from  further  progress,	 but
       only just before it prints  a
       prompt.

       When  the monitor mode is on,
       each background job that com‐
       pletes  triggers any trap set
       for

       Attempting to leave the shell
       while  jobs  are	 running  or
       stopped produces the warning,
       Use  the	 command to identify
       them.  An  immediate  attempt
       to  exit again terminates the
       stopped jobs; the shell	does
       not  produce  a	warning	 the
       second time.

   Signals
       The INT and QUIT signals	 for
       an    invoked   command	 are
       ignored	if  the	 command  is
       followed by and the option is
       off.  Otherwise, signals have
       the  values  inherited by the
       shell from its  parent,	with
       the  exception  of  signal 11
       (but  see  also	the  command
       below).

   Execution
       Substitutions  are  made each
       time a command  is  executed.
       If  the	command name matches
       one of the listed  below,  it
       is  executed  within the cur‐
       rent  shell  process.   Next,
       checks  the  command  name to
       determine whether it  matches
       one of the user-defined func‐
       tions.  If it does, saves the
       positional   parameters	 and
       then sets them to  the  argu‐
       ments  of  the function call.
       The positional  parameter  is
       set  to	the  function  name.
       When the	 function  completes
       or   issues  a  restores	 the
       positional parameter list and
       executes	  any  trap  set  on
       within  the  function.	 The
       value  of  a  function is the
       value  of  the  last  command
       executed.

       A function is executed in the
       current shell process.  If  a
       command	name  is  not a or a
       user-defined    creates	   a
       process	and attempts to exe‐
       cute the command	 using	(see
       exec(2)).

       The  shell  parameter defines
       the  search  path   for	 the
       directory containing the com‐
       mand.  Alternative  directory
       names   are  separated  by  a
       colon  The  default  path  is
       (specifying  and	 the current
       directory in that order).

       Note that the current  direc‐
       tory  is	 specified by a null
       path name  which	 can  appear
       immediately  after the equals
       sign,  between  colon  delim‐
       iters,  or  at the end of the
       path list.

       The search path is  not	used
       if  the command name contains
       a Otherwise,  each  directory
       in  the	path is searched for
       an executable file.

       If the file has execute	per‐
       missions	 but is not a direc‐
       tory or an executable  object
       code  file,  it is assumed to
       be a script file, which is  a
       file  of	 data  for an inter‐
       preter.	 If  the  first	 two
       characters of the script file
       are (see exec(2)) expects  an
       interpreter path name to fol‐
       low.  then attempts  to	exe‐
       cute   the  specified  inter‐
       preter as a separate  process
       to  read	 the  entire  script
       file.  If a call to fails, is
       spawned	 to   interpret	 the
       script	file.	 All	non-
       exported	 aliases, functions,
       and  named   parameters	 are
       removed in this case.

       If  the	shell  command	file
       does not	 have  read  permis‐
       sion, or if the setuid and/or
       setgid bits are	set  on	 the
       file,  the  shell executes an
       agent to set up	the  permis‐
       sions  and  execute the shell
       with the shell  command	file
       passed  down as an open file.
       A  parenthesized	 command  is
       also  executed in a sub-shell
       without removing non-exported
       quantities.

   Command Re-entry
       The text of the last (default
       128) commands entered from  a
       terminal device is saved in a
       file.  The file	is  used  if
       the  variable  is  not set or
       writable.  A shell can access
       the  commands  of  all shells
       that use the same named

       The special command  is	used
       to  list or edit a portion of
       this file.   The	 portion  of
       the  file  to  be  edited  or
       listed  can  be	selected  by
       number or by giving the first
       character  or  characters  of
       the  command.   A single com‐
       mand or range of commands can
       be  specified.	If no editor
       program is  specified  as  an
       argument	 to the value of the
       parameter is used.  If is not
       defined, is used.  The edited
       command is  printed  and	 re-
       executed	  upon	leaving	 the
       editor.	The editor  name  is
       used   to  skip	the  editing
       phase and to  re-execute	 the
       command.	 In this case a sub‐
       stitution  parameter  of	 the
       form  can  be  used to modify
       the command before execution.

       For example, if is aliased to
       typing  re-executes  the most
       recent  command	that  starts
       with  the letter and replaces
       the first occurrence  of	 the
       string with the string

       The   history  file  will  be
       trimmed when all of the	fol‐
       lowing conditions occurs:

	      Its  size	 is  greater
	      than four kilobytes.

	      The number of commands
	      in it is more than

	      The  file has not been
	      modified in  the	last
	      ten minutes.

	      The   user  has  write
	      permission   for	 the
	      directory in which the
	      history file resides.

       If any one of the above	con‐
       ditions	does  not occur, the
       history	file  will  not	  be
       trimmed.	  When	the  history
       file is trimmed,	 the  latest
       commands will be available in
       the history file.

   Special Commands
       The following simple-commands
       are  executed  in  the  shell
       process.	     They     permit
       input/output	redirection.
       Unless  otherwise  indicated,
       file   descriptor  1  is	 the
       default output  location	 and
       the  exit  status, when there
       are  no	syntax	errors,	  is
       zero.  Commands that are pre‐
       ceded by or are treated	spe‐
       cially in the following ways:

	      1.  Variable   assign‐
		  ment lists preced‐
		  ing	the  command
		  remain  in  effect
		  when	the  command
		  completes.
	      2.  I/O	redirections
		  are	   processed
		  after	    variable
		  assignments.
	      3.  Certain     errors
		  cause	  a   script
		  that contains them
		  to abort.
	      4.  Words following  a
		  command   preceded
		  by %% that are  in
		  the  format  of  a
		  variable   assign‐
		  ment	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.

       The special commands are list
       here:

       The  command   only   expands
       parameters.
		      A	  zero	exit
		      code	  is
		      returned.

       Read   and  execute  commands
       from
		      file	 and
		      return.	 The
		      commands	 are
		      executed	  in
		      the    current
		      shell environ‐
		      ment.	 The
		      search	path
		      specified	  by
		      is   used	  to
		      find	 the
		      directory con‐
		      taining  file.
		      If  any  argu‐
		      ments arg	 are
		      given,	they
		      become	 the
		      positional
		      parameters.
		      Otherwise	 the
		      positional
		      parameters are
		      unchanged.
		      The  exit sta‐
		      tus   is	 the
		      exit status of
		      the last	com‐
		      mand executed.
		      It is not nec‐
		      essary	that
		      the    execute
		      permission bit
		      be   set	 for
		      file.

       with  no arguments prints the
       list of aliases in the form
		      on    standard
		      output.	  An
		      alias	  is
		      defined	 for
		      each	name
		      whose value is
		      given.	   A
		      trailing space
		      in       value
		      causes	 the
		      next  word  to
		      be checked for
		      alias  substi‐
		      tution.	 The
		      option is used
		      to   set	 and
		      list   tracked
		      aliases.	 The
		      value   of   a
		      tracked  alias
		      is  the	full
		      path name cor‐
		      responding  to
		      the      given
		      name.	 The
		      value   of   a
		      tracked  alias
		      becomes  unde‐
		      fined when the
		      value   of  is
		      reset, but the
		      alias  remains
		      tracked.
		      Without	 the
		      option,	 for
		      each  name  in
		      the   argument
		      list for which
		      no  value	  is
		      given,	 the
		      name and value
		      of  the  alias
		      is    printed.
		      The  option is
		      used to set or
		      print exported
		      aliases.	  An
		      exported alias
		      is     defined
		      across	sub-
		      shell environ‐
		      ments.   Alias
		      returns	true
		      unless  a name
		      is  given	 for
		      which no alias
		      has	been
		      defined.

       Puts the specified
		      jobs  into the
		      background.
		      The    current
		      job is put  in
		      the background
		      if   job	  is
		      unspecified.
		      See   for	   a
		      description of
		      the format  of
		      job.

       Exit from the enclosing
		      or   loop,  if
		      any.  If n  is
		      specified,
		      break  n	lev‐
		      els.

       Resume  the next iteration of
       the enclosing
		      or loop.	If n
		      is  specified,
		      resume at	 the
		      n-th enclosing
		      loop.

       This command can	 take
       either of two forms.
		      In  the
		      first
		      form it
		      changes
		      the
		      current
		      direc‐
		      tory to
		      arg.
		      If  arg
		      is  the
		      direc‐
		      tory is
		      changed
		      to  the
		      previ‐
		      ous
		      direc‐
		      tory.
		      The
		      option
		      (default)
		      pre‐
		      serves
		      logical
		      naming
		      when
		      treat‐
		      ing
		      sym‐
		      bolic
		      links.
		      moves
		      the
		      current
		      direc‐
		      tory
		      one
		      path
		      compo‐
		      nent
		      closer
		      to  the
		      root
		      direc‐
		      tory.
		      The
		      option
		      pre‐
		      serves
		      the
		      physi‐
		      cal
		      path
		      when
		      treat‐
		      ing
		      sym‐
		      bolic
		      links.
		      changes
		      the
		      working
		      direc‐
		      tory to
		      the
		      parent
		      direc‐
		      tory of
		      the
		      current
		      direc‐
		      tory.
		      The
		      shell
		      parame‐
		      ter  is
		      the
		      default
		      arg.
		      The
		      parame‐
		      ter  is
		      set  to
		      the
		      current
		      direc‐
		      tory.
		      The
		      shell
		      parame‐
		      ter
		      defines
		      the
		      search
		      path
		      for the
		      direc‐
		      tory
		      con‐
		      taining
		      arg.
		      Alter‐
		      native
		      direc‐
		      tory
		      names
		      are
		      sepa‐
		      rated
		      by    a
		      colon
		      If   is
		      null or
		      unde‐
		      fined,
		      the
		      default
		      value
		      is  the
		      current
		      direc‐
		      tory.
		      Note
		      that
		      the
		      current
		      direc‐
		      tory is
		      speci‐
		      fied by
		      a	 null
		      path
		      name
		      which
		      can
		      appear
		      immedi‐
		      ately
		      after
		      the
		      equal
		      sign or
		      between
		      the
		      colon
		      delim‐
		      iters
		      any‐
		      where
		      else in
		      the
		      path
		      list.
		      If  arg
		      begins
		      with  a
		      the
		      search
		      path is
		      not
		      used.
		      Other‐
		      wise,
		      each
		      direc‐
		      tory in
		      the
		      path is
		      searched
		      for
		      arg.
		      See
		      also
		      cd(1).

		      The
		      second
		      form of
		      substi‐
		      tutes
		      the
		      string
		      new for
		      the
		      string
		      old  in
		      the
		      current
		      direc‐
		      tory
		      name,
		      and
		      tries
		      to
		      change
		      to this
		      new
		      direc‐
		      tory.

		      The
		      command
		      cannot
		      be exe‐
		      cuted
		      by

       See	      echo(1)
		      for
		      usage
		      and
		      descrip‐
		      tion.

       Reads the arguments as
       input to the shell
		      and
		      exe‐
		      cutes
		      the
		      result‐
		      ing
		      com‐
		      mand(s).

       Parameter  assignments
       remain in effect after
       the command completes.
		      If  arg
		      is
		      given,
		      the
		      command
		      speci‐
		      fied by
		      the
		      argu‐
		      ments
		      is exe‐
		      cuted
		      in
		      place
		      of this
		      shell
		      without
		      creat‐
		      ing   a
		      new
		      process.
		      Input/out‐
		      put
		      argu‐
		      ments
		      can
		      appear
		      and
		      affect
		      the
		      current
		      process.
		      If   no
		      argu‐
		      ments
		      are
		      given,
		      the
		      effect
		      of this
		      command
		      is   to
		      modify
		      file
		      descrip‐
		      tors as
		      pre‐
		      scribed
		      by  the
		      input/out‐
		      put re‐
		      direct‐
		      ion
		      list.
		      In this
		      case,
		      any
		      file
		      descrip‐
		      tor
		      numbers
		      greater
		      than  2
		      opened
		      with
		      this
		      mecha‐
		      nism
		      are
		      closed
		      when
		      invok‐
		      ing
		      another
		      pro‐
		      gram.

       Causes  the  shell  to
       exit   with  the	 exit
       status specified by
		      n.   If
		      n	   is
		      omit‐
		      ted,
		      the
		      exit
		      status
		      is that
		      of  the
		      last
		      command
		      exe‐
		      cuted.
		      An end-
		      of-file
		      also
		      causes
		      the
		      shell
		      to
		      exit,
		      except
		      when  a
		      shell
		      has the
		      ignoreeof
		      option
		      set
		      (see
		      below).

       The given      names
		      are
		      marked
		      for
		      auto‐
		      matic
		      export
		      to  the
		      envi‐
		      ronment
		      of sub‐
		      se‐
		      quently
		      exe‐
		      cuted
		      com‐
		      mands.

       In   the	 first
       form,  a	 range
       of     commands
       from
		      first
		      to
		      last
		      is
		      selected
		      from
		      the
		      last
		      com‐
		      mands
		      typed
		      at
		      the
		      ter‐
		      mi‐
		      nal.
		      The
		      argu‐
		      ments
		      first
		      and
		      last
		      can
		      be
		      spec‐
		      i‐
		      fied
		      as
		      a
		      num‐
		      ber
		      or
		      string.
		      A
		      given
		      string
		      is
		      used
		      to
		      locate
		      the
		      most
		      recent
		      com‐
		      mand.
		      A
		      neg‐
		      a‐
		      tive
		      num‐
		      ber
		      is
		      used
		      to
		      off‐
		      set
		      the
		      cur‐
		      rent
		      com‐
		      mand
		      num‐
		      ber.
		      The
		      option
		      causes
		      the
		      com‐
		      mands
		      to
		      be
		      listed
		      on
		      stan‐
		      dard
		      out‐
		      put.
		      Oth‐
		      er‐
		      wise,
		      the
		      edi‐
		      tor
		      pro‐
		      gram
		      ename
		      is
		      invoked
		      on
		      a
		      file
		      con‐
		      tain‐
		      ing
		      these
		      key‐
		      board
		      com‐
		      mands.
		      If
		      ename
		      is
		      not
		      sup‐
		      plied,
		      the
		      value
		      of
		      the
		      param‐
		      e‐
		      ter
		      (default
		      is
		      used
		      as
		      the
		      edi‐
		      tor.
		      Once
		      edit‐
		      ing
		      has
		      ended,
		      the
		      com‐
		      mands
		      (if
		      any)
		      are
		      exe‐
		      cuted.
		      If
		      last
		      is
		      omit‐
		      ted,
		      only
		      the
		      com‐
		      mand
		      spec‐
		      i‐
		      fied
		      by
		      first
		      is
		      used.
		      If
		      first
		      is
		      not
		      spec‐
		      i‐
		      fied,
		      the
		      default
		      is
		      the
		      pre‐
		      vi‐
		      ous
		      com‐
		      mand
		      for
		      edit‐
		      ing
		      and
		      −16
		      for
		      list‐
		      ing.
		      The
		      option
		      reverses
		      the
		      order
		      of
		      the
		      com‐
		      mands
		      and
		      the
		      option
		      sup‐
		      presses
		      com‐
		      mand
		      num‐
		      bers
		      when
		      list‐
		      ing.
		      In
		      the
		      lat‐
		      ter,
		      the
		      com‐
		      mand
		      is
		      re-
		      exe‐
		      cuted
		      after
		      the
		      sub‐
		      sti‐
		      tu‐
		      tion
		      is
		      per‐
		      formed.

       Brings each    job
		      into
		      the
		      fore‐
		      ground
		      in
		      the
		      order
		      spec‐
		      i‐
		      fied.
		      If
		      no
		      job
		      is
		      spec‐
		      i‐
		      fied,
		      the
		      cur‐
		      rent
		      job
		      is
		      brought
		      into
		      the
		      fore‐
		      ground.
		      See
		      for
		      a
		      descrip‐
		      tion
		      of
		      the
		      for‐
		      mat
		      of
		      job.

       Checks	      arg
		      for
		      legal
		      options.
		      If
		      arg
		      is
		      omit‐
		      ted,
		      the
		      posi‐
		      tional
		      param‐
		      e‐
		      ters
		      are
		      used.
		      An
		      option
		      argu‐
		      ment
		      begins
		      with
		      a
		      or
		      a
		      An
		      option
		      not
		      begin‐
		      ning
		      with
		      or
		      or
		      the
		      argu‐
		      ment
		      ends
		      the
		      options.
		      opt‐
		      string
		      con‐
		      tains
		      the
		      let‐
		      ters
		      that
		      getopts
		      rec‐
		      og‐
		      nizes.
		      If
		      a
		      let‐
		      ter
		      is
		      fol‐
		      lowed
		      by
		      a
		      that
		      option
		      is
		      expected
		      to
		      have
		      an
		      argu‐
		      ment.
		      The
		      options
		      can
		      be
		      sep‐
		      a‐
		      rated
		      from
		      the
		      argu‐
		      ment
		      by
		      blanks.

		      places
		      the
		      next
		      option
		      let‐
		      ter
		      it
		      finds
		      inside
		      vari‐
		      able
		      name
		      each
		      time
		      it
		      is
		      invoked
		      with
		      a
		      pre‐
		      ced‐
		      ing
		      it
		      when
		      arg
		      begins
		      with
		      a
		      The
		      index
		      of
		      the
		      next
		      arg
		      is
		      stored
		      in
		      The
		      option
		      argu‐
		      ment,
		      if
		      any,
		      gets
		      stored
		      in

		      A
		      lead‐
		      ing
		      in
		      opt‐
		      string
		      causes
		      to
		      store
		      the
		      let‐
		      ter
		      of
		      an
		      invalid
		      option
		      in
		      and
		      to
		      set
		      name
		      to
		      for
		      an
		      unknown
		      option
		      and
		      to
		      when
		      a
		      required
		      option
		      is
		      miss‐
		      ing.
		      Oth‐
		      er‐
		      wise,
		      prints
		      an
		      error
		      mes‐
		      sage.
		      The
		      exit
		      sta‐
		      tus
		      is
		      nonzero
		      when
		      there
		      are
		      no
		      more
		      options.
		      See
		      also
		      getopts(1).

       Lists  informa‐
       tion about each
       given  job;  or
       all active jobs
       if
		      job
		      is
		      omit‐
		      ted.
		      The
		      option
		      lists
		      process
		      ids
		      in
		      addi‐
		      tion
		      to
		      the
		      nor‐
		      mal
		      infor‐
		      ma‐
		      tion.
		      The
		      option
		      only
		      dis‐
		      plays
		      jobs
		      that
		      have
		      stopped
		      or
		      exited
		      since
		      last
		      noti‐
		      fied.
		      The
		      option
		      causes
		      only
		      the
		      process
		      group
		      to
		      be
		      listed.
		      See
		      for
		      a
		      descrip‐
		      tion
		      of
		      the
		      for‐
		      mat
		      of
		      job.

       Sends	either
       the TERM
		      (ter‐
		      mi‐
		      nate)
		      sig‐
		      nal
		      or
		      the
		      spec‐
		      i‐
		      fied
		      sig‐
		      nal
		      to
		      the
		      spec‐
		      i‐
		      fied
		      jobs
		      or
		      pro‐
		      cesses.
		      Sig‐
		      nals
		      are
		      given
		      either
		      by
		      num‐
		      ber
		      or
		      name
		      (as
		      given
		      in
		      sig‐
		      nal(5),
		      stripped
		      of
		      the
		      pre‐
		      fix
		      The
		      sig‐
		      nal
		      names
		      are
		      listed
		      by
		      No
		      default
		      exists;
		      merely
		      typ‐
		      ing
		      does
		      not
		      affect
		      the
		      cur‐
		      rent
		      job.
		      If
		      the
		      sig‐
		      nal
		      being
		      sent
		      is
		      (ter‐
		      mi‐
		      nate)
		      or
		      (hangup),
		      the
		      job
		      or
		      process
		      is
		      sent
		      a
		      (con‐
		      tinue)
		      sig‐
		      nal
		      when
		      stopped.
		      The
		      process
		      argu‐
		      ment
		      can
		      be
		      either
		      a
		      process
		      ID
		      or
		      job.
		      If
		      the
		      first
		      argu‐
		      ment
		      to
		      is
		      a
		      neg‐
		      a‐
		      tive
		      inte‐
		      ger,
		      it
		      is
		      inter‐
		      preted
		      as
		      a
		      sig
		      argu‐
		      ment
		      and
		      not
		      as
		      a
		      process
		      group.
		      See
		      also
		      kill(1).

       Each	      arg
		      is
		      a
		      sep‐
		      a‐
		      rate
		      to
		      be
		      eval‐
		      u‐
		      ated.
		      See
		      above,
		      for
		      a
		      descrip‐
		      tion
		      of
		      arith‐
		      metic
		      expres‐
		      sion
		      eval‐
		      u‐
		      a‐
		      tion.
		      The
		      exit
		      sta‐
		      tus
		      is
		      0
		      if
		      the
		      value
		      of
		      the
		      last
		      expres‐
		      sion
		      is
		      nonzero,
		      and
		      1
		      oth‐
		      er‐
		      wise.

       Equivalent to  ....

       The shell  out‐
       put mechanism.
		      With
		      no
		      options
		      or
		      with
		      option
		      or
		      the
		      argu‐
		      ments
		      are
		      printed
		      on
		      stan‐
		      dard
		      out‐
		      put
		      as
		      described
		      by
		      echo(1).
		      Raw
		      mode,
		      or
		      ignores
		      the
		      escape
		      con‐
		      ven‐
		      tions
		      of
		      echo.
		      The
		      option
		      prints
		      all
		      sub‐
		      se‐
		      quent
		      argu‐
		      ments
		      and
		      options
		      other
		      than
		      The
		      option
		      causes
		      the
		      argu‐
		      ments
		      to
		      be
		      writ‐
		      ten
		      onto
		      the
		      pipe
		      of
		      the
		      process
		      spawned
		      with
		      instead
		      of
		      stan‐
		      dard
		      out‐
		      put.
		      The
		      option
		      causes
		      the
		      argu‐
		      ments
		      to
		      be
		      writ‐
		      ten
		      onto
		      the
		      his‐
		      tory
		      file
		      instead
		      of
		      stan‐
		      dard
		      out‐
		      put.
		      The
		      option
		      can
		      be
		      used
		      to
		      spec‐
		      ify
		      a
		      one-
		      digit
		      file
		      descrip‐
		      tor
		      unit
		      num‐
		      ber
		      n
		      on
		      which
		      the
		      out‐
		      put
		      is
		      to
		      be
		      placed.
		      The
		      default
		      is
		      1.
		      If
		      the
		      option
		      is
		      used,
		      no
		      new‐
		      line
		      char‐
		      ac‐
		      ter
		      is
		      added
		      to
		      the
		      out‐
		      put.

       With  no	 argu‐
       ments	prints
       the     current
       working	direc‐
       tory
		      (equiv‐
		      a‐
		      lent
		      to
		      The
		      option
		      (default)
		      pre‐
		      serves
		      the
		      log‐
		      i‐
		      cal
		      mean‐
		      ing
		      of
		      the
		      cur‐
		      rent
		      direc‐
		      tory
		      and
		      pre‐
		      serves
		      the
		      phys‐
		      i‐
		      cal
		      mean‐
		      ing
		      of
		      the
		      cur‐
		      rent
		      direc‐
		      tory
		      if
		      it
		      is
		      a
		      sym‐
		      bolic
		      link.
		      See
		      the
		      spe‐
		      cial
		      com‐
		      mand,
		      cd(1),
		      ln(1)),
		      and
		      pwd(1).

       The shell input
       mechanism.
		      One
		      line
		      is
		      read
		      and
		      bro‐
		      ken
		      up
		      into
		      words
		      using
		      the
		      char‐
		      ac‐
		      ters
		      in
		      as
		      sep‐
		      a‐
		      ra‐
		      tors.
		      In
		      raw
		      mode,
		      at
		      the
		      end
		      of
		      a
		      line
		      does
		      not
		      sig‐
		      nify
		      line
		      con‐
		      tin‐
		      u‐
		      a‐
		      tion.
		      The
		      first
		      word
		      is
		      assigned
		      to
		      the
		      first
		      name,
		      the
		      sec‐
		      ond
		      word
		      to
		      the
		      sec‐
		      ond
		      name,
		      etc.,
		      with
		      remain‐
		      ing
		      words
		      assigned
		      to
		      the
		      last
		      name.
		      The
		      option
		      causes
		      the
		      input
		      line
		      to
		      be
		      taken
		      from
		      the
		      input
		      pipe
		      of
		      a
		      process
		      spawned
		      by
		      the
		      shell
		      using
		      If
		      the
		      option
		      is
		      present,
		      the
		      input
		      is
		      saved
		      as
		      a
		      com‐
		      mand
		      in
		      the
		      his‐
		      tory
		      file.
		      The
		      option
		      can
		      be
		      used
		      to
		      spec‐
		      ify
		      a
		      one-
		      digit
		      file
		      descrip‐
		      tor
		      unit
		      to
		      read
		      from.
		      The
		      file
		      descrip‐
		      tor
		      can
		      be
		      opened
		      with
		      the
		      spe‐
		      cial
		      com‐
		      mand.
		      The
		      default
		      value
		      of
		      n
		      is
		      If
		      name
		      is
		      omit‐
		      ted,
		      is
		      used
		      as
		      the
		      default
		      name.
		      The
		      return
		      code
		      is
		      unless
		      an
		      end-
		      of-
		      file
		      is
		      encoun‐
		      tered.
		      An
		      end-
		      of-
		      file
		      with
		      the
		      option
		      causes
		      cleanup
		      for
		      this
		      process
		      so
		      that
		      another
		      process
		      can
		      be
		      spawned.
		      If
		      the
		      first
		      argu‐
		      ment
		      con‐
		      tains
		      a
		      the
		      remain‐
		      der
		      of
		      this
		      word
		      is
		      used
		      as
		      a
		      when
		      the
		      shell
		      is
		      inter‐
		      ac‐
		      tive.
		      If
		      the
		      given
		      file
		      descrip‐
		      tor
		      is
		      open
		      for
		      writ‐
		      ing
		      and
		      is
		      a
		      ter‐
		      mi‐
		      nal
		      device,
		      the
		      prompt
		      is
		      placed
		      on
		      this
		      unit.
		      Oth‐
		      er‐
		      wise
		      the
		      prompt
		      is
		      issued
		      on
		      file
		      descrip‐
		      tor
		      2.
		      The
		      return
		      code
		      is
		      unless
		      an
		      end-
		      of-
		      file
		      is
		      encoun‐
		      tered.
		      See
		      also
		      read(1).

       The given      names
		      are
		      marked
		      read-
		      only
		      and
		      these
		      names
		      can‐
		      not
		      be
		      changed
		      by
		      sub‐
		      se‐
		      quent
		      assign‐
		      ment.

       Causes a shell to
		      return
		      to
		      the
		      invok‐
		      ing
		      script
		      with
		      the
		      return
		      sta‐
		      tus
		      spec‐
		      i‐
		      fied
		      by
		      n.
		      If
		      n
		      is
		      omit‐
		      ted,
		      the
		      return
		      sta‐
		      tus
		      is
		      that
		      of
		      the
		      last
		      com‐
		      mand
		      exe‐
		      cuted.
		      Only
		      the
		      low
		      8
		      bits
		      of
		      n
		      are
		      passed
		      back
		      to
		      the
		      call‐
		      er.
		      If
		      is
		      invoked
		      while
		      not
		      in
		      a
		      or
		      exe‐
		      cut‐
		      ing
		      a
		      script
		      by
		      the
		      (dot)
		      built-
		      in
		      com‐
		      mand,
		      it
		      has
		      the
		      same
		      effect
		      as
		      an
		      com‐
		      mand.

       The   following
       options	   are
       used  for  this
       command:

		      Array
		      assign‐
		      ment.   Unset
			      the
			      vari‐
			      able
			      name
			      and
			      assign
			      val‐
			      ues
			      sequen‐
			      tially
			      from
			      the
			      list
			      arg.
			      If
			      is
			      used,
			      the
			      vari‐
			      able
			      name
			      is
			      not
			      unset
			      first.
		      All
		      sub‐
		      se‐
		      quent
		      defined
		      param‐
		      e‐
		      ters
		      are
		      auto‐
		      mat‐
		      i‐
		      cally
		      exported.
		      If
		      the
		      shell
		      is
		      non-
		      inter‐
		      ac‐
		      tive
		      and
		      if
		      a
		      com‐
		      mand
		      fails,
		      exe‐
		      cute
		      the     trap,
			      if
			      set,
			      and
			      exit
			      imme‐
			      di‐
			      ately.
			      This
			      mode
			      is
			      dis‐
			      abled
			      while
			      read‐
			      ing
			      pro‐
			      files.
		      Dis‐
		      ables
		      file
		      name
		      gen‐
		      er‐
		      a‐
		      tion.
		      Each
		      com‐
		      mand
		      whose
		      name
		      is
		      an      becomes
			      a
			      tracked
			      alias
			      when
			      first
			      encoun‐
			      tered.
		      All
		      param‐
		      e‐
		      ter
		      assign‐
		      ment
		      argu‐
		      ments   (not
			      just
			      those
			      that
			      pre‐
			      cede
			      the
			      com‐
			      mand
			      name)
			      are
			      placed
			      in
			      the
			      envi‐
			      ron‐
			      ment
			      for
			      a
			      com‐
			      mand.
		      Back‐
		      ground
		      jobs
		      are
		      run
		      in
		      a
		      sep‐
		      a‐
		      rate
		      process
		      group   and
			      a
			      line
			      is
			      printed
			      upon
			      com‐
			      ple‐
			      tion.
			      The
			      exit
			      sta‐
			      tus
			      of
			      back‐
			      ground
			      jobs
			      is
			      reported
			      in
			      a
			      com‐
			      ple‐
			      tion
			      mes‐
			      sage.
			      This
			      option
			      is
			      turned
			      on
			      auto‐
			      mat‐
			      i‐
			      cally
			      for
			      inter‐
			      ac‐
			      tive
			      shells.
		      Read
		      com‐
		      mands
		      and
		      check
		      them
		      for
		      syn‐
		      tax
		      errors,
		      but
		      do
		      not
		      exe‐
		      cute
		      them.   The
			      option
			      is
			      ignored
			      for
			      inter‐
			      ac‐
			      tive
			      shells.
		      The     argu‐
			      ment
			      takes
			      any
			      of
			      sev‐
			      eral
			      option
			      names,
			      but
			      only
			      one
			      option
			      can
			      be
			      spec‐
			      i‐
			      fied
			      with
			      each
			      option.
			      If
			      none
			      is
			      sup‐
			      plied,
			      the
			      cur‐
			      rent
			      option
			      set‐
			      tings
			      are
			      printed.
			      The
			      argu‐
			      ment
			      option
			      names
			      fol‐
			      low:

			      Same
			      as
			      All
			      back‐
			      ground
			      jobs
			      are
			      run
			      at
			      a
			      lower
			      pri‐
			      or‐
			      ity.
			      Same
			      as
			      Acti‐
			      vates
			      an		style
						in-
						line
						edi‐
						tor
						for
						com‐
						mand
						entry.
			      Acti‐
			      vates
			      a			style
						in-
						line
						edi‐
						tor
						for
						com‐
						mand
						entry.
			      The
			      shell
			      does
			      not
			      exit
			      on
			      end-
			      of-
			      file.		The
						com‐
						mand
						must
						be
						used.
			      Same
			      as
			      All
			      direc‐
			      tory
			      names
			      result‐
			      ing
			      from
			      file
			      name
			      gen‐
			      er‐
			      a‐
			      tion
			      have
			      a
			      trail‐
			      ing		appended.
			      Same
			      as
			      Pre‐
			      vents
			      re‐
			      di‐
			      rect‐
			      ion		from
						trun‐
						cat‐
						ing
						exist‐
						ing
						reg‐
						u‐
						lar
						files.
						Requires
						to
						trun‐
						cate
						a
						file
						when
						turned
						on.
			      Same
			      as
			      Same
			      as
			      Do
			      not
			      save
			      func‐
			      tion
			      def‐
			      i‐
			      ni‐
			      tions
			      in
			      his‐
			      tory
			      file.
			      Same
			      as
			      Same
			      as
			      Same
			      as
			      Same
			      as
			      Acti‐
			      vates
			      the
			      insert
			      mode
			      of
			      a			style
						in-
						line
						edi‐
						tor
						until
						you
						press
						the
						ESC
						key
						which
						puts
						you
						in
						move
						mode.
						A
						return
						sends
						the
						line.
			      Each
			      char‐
			      ac‐
			      ter
			      is
			      pro‐
			      cessed
			      as
			      it
			      is
			      typed
			      in		mode.
			      Same
			      as

		      Dis‐
		      ables
		      pro‐
		      cess‐
		      ing
		      of
		      the     file
			      and
			      uses
			      the
			      file
			      instead
			      of
			      the
			      file.
			      This
			      mode
			      is
			      on
			      when‐
			      ever
			      the
			      effec‐
			      tive
			      uid
			      (gid)
			      is
			      not
			      equal
			      to
			      the
			      real
			      uid
			      (gid).
			      Turn‐
			      ing
			      this
			      off
			      causes
			      the
			      effec‐
			      tive
			      uid
			      and
			      gid
			      to
			      be
			      set
			      to
			      the
			      real
			      uid
			      and
			      gid.
		      Sort
		      the
		      posi‐
		      tional
		      param‐
		      e‐
		      ters.
		      Exit
		      after
		      read‐
		      ing
		      and
		      exe‐
		      cut‐
		      ing
		      one
		      com‐
		      mand.
		      Treat
		      unset
		      param‐
		      e‐
		      ters
		      as
		      an
		      error
		      when
		      sub‐
		      sti‐
		      tut‐
		      ing.
		      Print
		      shell
		      input
		      lines
		      as
		      they
		      are
		      read.
		      Print
		      com‐
		      mands
		      and
		      their
		      argu‐
		      ments
		      as
		      they
		      are
		      exe‐
		      cuted.
		      Turns
		      off     and
			      options
			      and
			      stops
			      exam‐
			      in‐
			      ing
			      argu‐
			      ments
			      for
			      options.
		      Do
		      not
		      change
		      any
		      of
		      the
		      options;
		      use‐
		      ful
		      in
		      set‐
		      ting
			      to
			      a
			      value
			      begin‐
			      ning
			      with
			      If
			      no
			      argu‐
			      ments
			      fol‐
			      low
			      this
			      option,
			      the
			      posi‐
			      tional
			      param‐
			      e‐
			      ters
			      are
			      unset.

		      Using
		      instead
		      of
		      before
		      a
		      option
		      causes
		      the
		      option
		      to
		      be
		      turned
		      off.
		      These
		      options
		      can
		      also
		      be
		      used
		      when
		      invok‐
		      ing
		      the
		      shell.
		      The
		      cur‐
		      rent
		      set
		      of
		      options
		      can
		      be
		      exam‐
		      ined
		      by
		      using

		      Unless
		      is
		      spec‐
		      i‐
		      fied,
		      the
		      remain‐
		      ing
		      arg
		      argu‐
		      ments
		      are
		      posi‐
		      tional
		      param‐
		      e‐
		      ters
		      and
		      are
		      assigned
		      con‐
		      sec‐
		      u‐
		      tively
		      to
		      ....
		      If
		      nei‐
		      ther
		      argu‐
		      ments
		      nor
		      options
		      are
		      given,
		      the
		      val‐
		      ues
		      of
		      all
		      names
		      are
		      printed
		      on
		      the
		      stan‐
		      dard
		      out‐
		      put.

       The  positional
       parameters from
		      ...
		      are
		      renamed
		      default
		      n
		      is
		      1.
		      The
		      param‐
		      e‐
		      ter
		      n
		      can
		      be
		      any
		      arith‐
		      metic
		      expres‐
		      sion
		      that
		      eval‐
		      u‐
		      ates
		      to
		      a
		      non-
		      neg‐
		      a‐
		      tive
		      num‐
		      ber
		      less
		      than
		      or
		      equal
		      to

       Evaluate condi‐
       tional  expres‐
       sion
		      expr.
		      See
		      test(1)
		      for
		      usage
		      and
		      descrip‐
		      tion.
		      The
		      arith‐
		      metic
		      com‐
		      par‐
		      i‐
		      son
		      oper‐
		      a‐
		      tors
		      are
		      not
		      restricted
		      to
		      inte‐
		      gers.
		      They
		      allow
		      any
		      arith‐
		      metic
		      expres‐
		      sion.
		      Four
		      addi‐
		      tional
		      prim‐
		      i‐
		      tive
		      expres‐
		      sions
		      are
		      allowed:
		      True
		      if		  file
					  is
					  a
					  sym‐
					  bolic
					  link.
		      True
		      if		  file1
					  is
					  newer
					  than
					  file2.
		      True
		      if		  file1
					  is
					  older
					  than
					  file2.
		      True
		      if		  file1
					  has
					  the
					  same
					  device
					  and
					  i-
					  node
					  num‐
					  ber
					  as
					  file2.

       Print the accu‐
       mulated	  user
       and	system
       times for
		      the
		      shell
		      and
		      for
		      pro‐
		      cesses
		      run
		      from
		      the
		      shell.

       arg	      is
		      a
		      com‐
		      mand
		      read
		      and
		      exe‐
		      cuted
		      when
		      the
		      shell
		      receives
		      sig‐
		      nal(s)
		      sig.
		      (Note
		      that
		      arg
		      is
		      scanned
		      once
		      when
		      the
		      trap
		      is
		      set
		      and
		      once
		      when
		      the
		      trap
		      is
		      taken.)
		      Each
		      sig
		      can
		      be
		      given
		      as
		      a
		      num‐
		      ber
		      or
		      name
		      of
		      the
		      sig‐
		      nal.
		      Trap
		      com‐
		      mands
		      are
		      exe‐
		      cuted
		      in
		      sig‐
		      nal
		      num‐
		      ber
		      order.
		      Any
		      attempt
		      to
		      set
		      a
		      trap
		      on
		      a
		      sig‐
		      nal
		      that
		      was
		      ignored
		      upon
		      enter‐
		      ing
		      the
		      cur‐
		      rent
		      shell
		      has
		      no
		      effect.
		      If
		      arg
		      is
		      omit‐
		      ted
		      or
		      is
		      all
		      traps
		      for
		      sig
		      are
		      reset
		      to
		      their
		      orig‐
		      i‐
		      nal
		      val‐
		      ues.
		      If
		      arg
		      is
		      the
		      null
		      string,
		      this
		      sig‐
		      nal
		      is
		      ignored
		      by
		      the
		      shell
		      and
		      by
		      the
		      com‐
		      mands
		      it
		      invokes.
		      If
		      sig
		      is
		      arg
		      is
		      exe‐
		      cuted
		      after
		      each
		      com‐
		      mand.
		      If
		      sig
		      is
		      arg
		      is
		      exe‐
		      cuted
		      when‐
		      ever
		      a
		      com‐
		      mand
		      has
		      a
		      nonzero
		      exit
		      code.
		      If
		      sig
		      is
		      or
		      and
		      the
		      state‐
		      ment
		      is
		      exe‐
		      cuted
		      inside
		      the
		      body
		      of
		      a
		      func‐
		      tion,
		      the
		      com‐
		      mand
		      arg
		      is
		      exe‐
		      cuted
		      after
		      the
		      func‐
		      tion
		      com‐
		      pletes.
		      If
		      sig
		      is
		      or
		      for
		      a
		      set
		      out‐
		      side
		      any
		      func‐
		      tion,
		      the
		      com‐
		      mand
		      arg
		      is
		      exe‐
		      cuted
		      on
		      exit
		      from
		      the
		      shell.
		      The
		      com‐
		      mand
		      with
		      no
		      argu‐
		      ments
		      prints
		      a
		      list
		      of
		      com‐
		      mands
		      asso‐
		      ci‐
		      ated
		      with
		      each
		      sig‐
		      nal
		      num‐
		      ber.

       Parameter
       assignments
       remain	    in
       effect	 after
       the     command
       completes.
		      When
		      invoked
		      inside
		      a
		      func‐
		      tion,
		      a
		      new
		      instance
		      of
		      the
		      param‐
		      e‐
		      ter
		      name
		      is
		      cre‐
		      ated.
		      The
		      param‐
		      e‐
		      ter
		      value
		      and
		      type
		      are
		      restored
		      when
		      the
		      func‐
		      tion
		      com‐
		      pletes.
		      The
		      fol‐
		      low‐
		      ing
		      list
		      of
		      attributes
		      can
		      be
		      spec‐
		      i‐
		      fied:

		      Left
		      jus‐
		      tify
		      and
		      remove
		      lead‐
		      ing
		      blanks
		      from   value.
			     If
			     n
			     is
			     nonzero,
			     it
			     defines
			     the
			     width
			     of
			     the
			     field.
			     Oth‐
			     er‐
			     wise,
			     it
			     is
			     deter‐
			     mined
			     by
			     the
			     width
			     of
			     the
			     value
			     of
			     first
			     assign‐
			     ment.
			     When
			     the
			     name
			     is
			     assigned,
			     the
			     value
			     is
			     filled
			     on
			     the
			     right
			     with
			     blanks
			     or
			     trun‐
			     cated,
			     if
			     nec‐
			     es‐
			     sary,
			     to
			     fit
			     into
			     the
			     field.
			     Lead‐
			     ing
			     zeros
			     are
			     removed
			     if
			     the
			     option
			     is
			     also
			     set.
			     The
			     option
			     is
			     turned
			     off.
		      Right
		      jus‐
		      tify
		      and
		      fill
		      with
		      lead‐
		      ing
		      blanks.
			     If
			     n
			     is
			     nonzero,
			     it
			     defines
			     the
			     width
			     of
			     the
			     field.
			     Oth‐
			     er‐
			     wise,
			     it
			     is
			     deter‐
			     mined
			     by
			     the
			     width
			     of
			     the
			     value
			     of
			     first
			     assign‐
			     ment.
			     The
			     field
			     is
			     left-
			     filled
			     with
			     blanks
			     or
			     trun‐
			     cated
			     from
			     the
			     end
			     if
			     the
			     param‐
			     e‐
			     ter
			     is
			     reas‐
			     signed.
			     The
			     option
			     is
			     turned
			     off.
		      Right
		      jus‐
		      tify
		      and
		      fill
		      with
		      lead‐
		      ing
		      zeros  if
			     the
			     first
			     non-
			     blank
			     char‐
			     ac‐
			     ter
			     is
			     a
			     digit
			     and
			     the
			     option
			     has
			     not
			     been
			     set.
			     If
			     n
			     is
			     nonzero,
			     it
			     defines
			     the
			     width
			     of
			     the
			     field.
			     Oth‐
			     er‐
			     wise,
			     it
			     is
			     deter‐
			     mined
			     by
			     the
			     width
			     of
			     the
			     value
			     of
			     first
			     assign‐
			     ment.
		      Cause  name
			     to
			     refer
			     to
			     func‐
			     tion
			     names
			     rather
			     than
			     param‐
			     e‐
			     ter
			     names.
			     No
			     assign‐
			     ments
			     can
			     be
			     made
			     to
			     the
			     name
			     declared
			     with
			     the
			     state‐
			     ment.
			     The
			     only
			     other
			     valid
			     options
			     are
			     (which
			     turns
			     on
			     exe‐
			     cu‐
			     tion
			     trac‐
			     ing
			     for
			     this
			     func‐
			     tion)
			     and
			     (which
			     allows
			     the
			     func‐
			     tion
			     to
			     remain
			     in
			     effect
			     across
			     shell
			     pro‐
			     ce‐
			     dures
			     exe‐
			     cuted
			     in
			     the
			     same
			     process
			     envi‐
			     ron‐
			     ment).
		      Param‐
		      e‐
		      ter
		      is
		      an
		      inte‐
		      ger.   This
			     makes
			     arith‐
			     metic
			     faster.
			     If
			     n
			     is
			     nonzero,
			     it
			     defines
			     the
			     out‐
			     put
			     arith‐
			     metic
			     base;
			     oth‐
			     er‐
			     wise
			     the
			     first
			     assign‐
			     ment
			     deter‐
			     mines
			     the
			     out‐
			     put
			     base.
		      Con‐
		      vert
		      all
		      upper‐
		      case
		      char‐
		      ac‐
		      ters
		      to
		      low‐
		      er‐
		      case.  The
			     upper‐
			     case
			     option
			     is
			     turned
			     off.
		      Any
		      given  name
			     is
			     marked
			     "read
			     only"
			     and
			     can‐
			     not
			     be
			     changed
			     by
			     sub‐
			     se‐
			     quent
			     assign‐
			     ment.
		      Tag
		      the
		      named
		      param‐
		      e‐
		      ters.  Tags
			     are
			     user
			     defin‐
			     able
			     and
			     have
			     no
			     spe‐
			     cial
			     mean‐
			     ing
			     to
			     the
			     shell.
		      Con‐
		      vert
		      all
		      low‐
		      er‐
		      case
		      char‐
		      ac‐
		      ters
		      to
		      upper‐
		      case
		      char‐
		      ac‐
		      ters.  The
			     low‐
			     er‐
			     case
			     option
			     is
			     turned
			     off.
		      Mark
		      any
		      given  name
			     for
			     auto‐
			     matic
			     export
			     to
			     the
			     envi‐
			     ron‐
			     ment
			     of
			     sub‐
			     se‐
			     quently
			     exe‐
			     cuted
			     com‐
			     mands.

			     Using
			     instead
			     of
			     causes
			     these
			     options
			     to
			     be
			     turned
			     off.
			     If
			     no
			     name
			     argu‐
			     ments
			     are
			     given
			     but
			     options
			     are
			     spec‐
			     i‐
			     fied,
			     a
			     list
			     of
			     names
			     (and
			     option‐
			     ally
			     the
			     val‐
			     ues)
			     of
			     the
			     param‐
			     e‐
			     ters
			     that
			     have
			     these
			     options
			     set
			     is
			     printed.
			     Using
			     instead
			     of
			     retains
			     the
			     val‐
			     ues
			     to
			     be
			     printed.
			     If
			     nei‐
			     ther
			     names
			     nor
			     options
			     are
			     given,
			     the
			     names
			     and
			     attributes
			     of
			     all
			     param‐
			     e‐
			     ters
			     are
			     printed.

       Set  or display
       a      resource
       limit.
		      The
		      limit
		      for
		      a
		      spec‐
		      i‐
		      fied
		      resource
		      is
		      set
		      when
		      limit
		      is
		      spec‐
		      i‐
		      fied.
		      The
		      value
		      of
		      limit
		      can
		      be
		      a
		      num‐
		      ber
		      in
		      the
		      unit
		      spec‐
		      i‐
		      fied
		      with
		      each
		      resource,
		      or
		      the
		      key‐
		      word

		      The
		      and
		      flags
		      spec‐
		      ify
		      whether
		      the
		      hard
		      limit
		      is
		      set
		      or
		      the
		      soft
		      limit
		      is
		      set
		      for
		      the
		      given
		      resource.
		      A
		      hard
		      limit
		      can‐
		      not
		      be
		      increased
		      once
		      it
		      is
		      set.
		      A
		      soft
		      limit
		      can
		      be
		      increased
		      up
		      to
		      the
		      hard
		      limit.
		      If
		      nei‐
		      ther
		      nor
		      is
		      spec‐
		      i‐
		      fied,
		      the
		      limit
		      applies
		      to
		      both.

		      The
		      cur‐
		      rent
		      resource
		      limit
		      is
		      printed
		      when
		      limit
		      is
		      omit‐
		      ted.
		      In
		      this
		      case,
		      the
		      soft
		      limit
		      is
		      printed
		      unless
		      is
		      spec‐
		      i‐
		      fied.
		      When
		      more
		      than
		      one
		      resource
		      is
		      spec‐
		      i‐
		      fied,
		      the
		      limit
		      name
		      and
		      unit
		      are
		      printed
		      before
		      the
		      value.

		      If
		      no
		      option
		      is
		      given,
		      is
		      assumed.
		      The
		      options
		      for
		      are
		      as
		      fol‐
		      lows:

		      List
		      all
		      of
		      the
		      cur‐
		      rent
		      resource
		      lim‐
		      its.
		      List
		      or
		      set
		      the
		      num‐
		      ber
		      of
		      512-byte
		      blocks
		      in
		      the
		      size
		      of
		      core
		      dumps.
		      List
		      or
		      set
		      the
		      num‐
		      ber
		      of
		      kilo‐
		      bytes
		      in
		      the
		      size
		      of
		      the
		      data
		      area.
		      List
		      or
		      set
		      the
		      num‐
		      ber
		      of
		      512-byte
		      blocks
		      in
		      files
		      writ‐
		      ten
		      by
		      child
			     pro‐
			     cesses
			     (files
			     of
			     any
			     size
			     can
			     be
			     read).
		      List
		      or
		      set
		      the
		      num‐
		      ber
		      of
		      kilo‐
		      bytes
		      in
		      the
		      size
		      of
		      the
		      stack
		      area.
		      List
		      or
		      set
		      the
		      num‐
		      ber
		      of
		      sec‐
		      onds
		      to
		      be
		      used
		      by
		      each
		      process.

       The user	 file-
       creation	  mask
       is set to
		      mask
		      (see
		      umask(2)).
		      mask
		      can
		      either
		      be
		      an
		      octal
		      num‐
		      ber
		      or
		      a
		      sym‐
		      bolic
		      value
		      as
		      described
		      in
		      chmod(1).
		      If
		      a
		      sym‐
		      bolic
		      value
		      is
		      given,
		      the
		      new
		      umask
		      value
		      is
		      the
		      com‐
		      ple‐
		      ment
		      of
		      the
		      result
		      of
		      apply‐
		      ing
		      mask
		      to
		      the
		      com‐
		      ple‐
		      ment
		      of
		      the
		      pre‐
		      vi‐
		      ous
		      umask
		      value.
		      If
		      mask
		      is
		      omit‐
		      ted,
		      the
		      cur‐
		      rent
		      value
		      of
		      the
		      mask
		      is
		      printed.
		      See
		      also
		      umask(1).

       The	      param‐
		      e‐
		      ters
		      given
		      by
		      the
		      list
		      of
		      names
		      are
		      removed
		      from
		      the
		      alias
		      list.

       The  parameters
       given  by   the
       list of
		      names
		      are
		      unas‐
		      signed;
		      that
		      is,
		      their
		      val‐
		      ues
		      and
		      attributes
		      are
		      erased.
		      Read-
		      only
		      vari‐
		      ables
		      can‐
		      not
		      be
		      unset.
		      If
		      the
		      option
		      is
		      set,
		      names
		      refer
		      to
		      func‐
		      tion
		      names.
		      Unset‐
		      ting
		      and
		      removes
		      their
		      spe‐
		      cial
		      mean‐
		      ing
		      even
		      if
		      they
		      are
		      sub‐
		      se‐
		      quently
		      assigned
		      to.

       Wait   for  the
       specified
		      job
		      to
		      ter‐
		      mi‐
		      nate
		      or
		      stop,
		      and
		      report
		      its
		      sta‐
		      tus.
		      This
		      sta‐
		      tus
		      becomes
		      the
		      return
		      code
		      for
		      the
		      com‐
		      mand.
		      If
		      job
		      is
		      not
		      given,
		      waits
		      for
		      all
		      cur‐
		      rently
		      active
		      child
		      pro‐
		      cesses
		      to
		      ter‐
		      mi‐
		      nate
		      and
		      returns
		      with
		      a
		      zero
		      exit
		      sta‐
		      tus.
		      See
		      for
		      a
		      descrip‐
		      tion
		      of
		      the
		      for‐
		      mat
		      of
		      a
		      job.

       For each	      name,
		      indi‐
		      cate
		      how
		      it
		      would
		      be
		      inter‐
		      preted
		      if
		      used
		      as
		      a
		      com‐
		      mand
		      name.
		      The
		      option
		      pro‐
		      duces
		      a
		      more
		      ver‐
		      bose
		      report.
		      The
		      option
		      does
		      a
		      path
		      search
		      for
		      name
		      even
		      if
		      name
		      is
		      an
		      alias,
		      a
		      func‐
		      tion,
		      or
		      a
		      reserved
		      word.

   Invoking ksh
       If the shell is
       invoked by (see
       exec(2)),   and
       the first char‐
       acter  of argu‐
       ment  zero   is
       the   shell  is
       assumed to be a
       login shell and
       commands	   are
       read first from
       The  expression
       is  then evalu‐
       ated   and   an
       attempt to open
       the   resulting
       filename	    is
       made.   If  the
       file  is opened
       successfully,
       the   file   is
       read.	 Next,
       commands	   are
       read  from  the
       file  named  by
       performing
       parameter  sub‐
       stitution    on
       the   value  of
       the environment
       parameter    if
       the	  file
       exists.	If the
       option  is  not
       present and arg
       is,   a	  path
       search  is per‐
       formed  on  the
       first   arg  to
       determine   the
       name   of   the
       script to  exe‐
       cute.	  When
       running	  with
       arg, the script
       arg  must  have
       read permission
       and any	setuid
       and getgid set‐
       tings	   are
       ignored.	  Com‐
       mands are  then
       read	    as
       described
       below.	   The
       following
       options	   are
       interpreted  by
       the  shell when
       it is invoked:

	      If the	     option
			     is
			     present,
			     com‐
			     mands
			     are
			     read
			     from
			     string.
	      If the	     option
			     is
			     present
			     or
			     if
			     no
			     argu‐
			     ments
			     remain,
			     com‐
			     mands
			     are
			     read
			     from
			     the
			     stan‐
			     dard
			     input.
			     Shell
			     out‐
			     put,
			     except
			     for
			     the
			     out‐
			     put
			     of
			     some
			     of
			     the
			     listed
			     above,
			     is
			     writ‐
			     ten
			     to
			     file
			     descrip‐
			     tor
			     2.
	      If the	     option
			     is
			     present
			     or
			     if
			     the
			     shell
			     input
			     and
			     out‐
			     put
			     are
			     attached
			     to
			     a
			     ter‐
			     mi‐
			     nal,
			     the
			     shell
			     is
			     inter‐
			     ac‐
			     tive.
			     In
			     this
			     case,
			     SIGTERM
			     is
			     ignored
			     (so
			     that
			     does
			     not
			     kill
			     an
			     inter‐
			     ac‐
			     tive
			     shell)
			     and
			     SIG‐
			     INT
			     +1
			     is
			     caught
			     and
			     ignored
			     (so
			     that
			     is
			     inter‐
			     rupt‐
			     ible).
			     In
			     all
			     cases,
			     SIGQUIT
			     is
			     ignored
			     by
			     the
			     shell.
			     (See
			     sig‐
			     nal(5).)
	      If the	     option
			     is
			     present,
			     the
			     shell
			     is
			     a
			     restricted
			     shell.

       The   remaining
       options	   and
       arguments   are
       described under
       the     command
       above.

   rksh Only
       is  used to set
       up login	 names
       and   execution
       environments
       where capabili‐
       ties  are  more
       controlled than
       those  of   the
       standard shell.
       The actions  of
       are   identical
       to   those   of
       except that the
       following   are
       forbidden:

	      ·	 Chang‐
		 ing
		 direc‐
		 tory
		 (see
		 cd(1))
	      ·	 Set‐
		 ting
		 the
		 value
		 of or
	      ·	 Spec‐
		 ify‐
		 ing
		 path
		 or
		 com‐
		 mand
		 names
		 con‐
		 tain‐
		 ing
	      ·	 Redi‐
		 rect‐
		 ing
		 out‐
		 put
		 and

       The    restric‐
       tions above are
       enforced	 after
       the  and	 files
       are	inter‐
       preted.

       When  a command
       to be  executed
       is  found to be
       a shell	proce‐
       dure,   invokes
       to execute  it.
       Thus,  the end-
       user  is	  pro‐
       vided	  with
       shell	proce‐
       dures  accessi‐
       ble to the full
       power   of  the
       standard shell,
       while	 being
       restricted to a
       limited menu of
       commands.  This
       scheme  assumes
       that  the  end-
       user  does  not
       have write  and
       execute permis‐
       sions  in   the
       same directory.

       When   a	 shell
       procedure    is
       invoked	  from
       the	 shell
       interpreter
       specified  with
       the	 magic
       inherits	   all
       the  restricted
       features of So,
       the  shell pro‐
       cedures written
       for   execution
       under with  the
       intent  of uti‐
       lizing the full
       power   of  the
       standard	 shell
       should	   not
       specify	    an
       interpreter
       with

       These	 rules
       effectively
       give the writer
       of   the	  file
       complete	  con‐
       trol  over user
       actions,	    by
       performing
       guaranteed set-
       up  actions and
       leaving	   the
       user    in   an
       appropriate
       directory
       (probably   not
       the	 login
       directory).

       The	system
       administrator
       often sets up a
       directory    of
       commands	 (usu‐
       ally  that  can
       be	safely
       invoked	by HP-
       UX systems pro‐
       vide	     a
       restricted edi‐
       tor	  (see
       ed(1)),	 suit‐
       able	   for
       restricted
       users.

COMMAND-LINE EDITING
   In-line     Editing
       Options
       Normally,  each
       command	  line
       typed at a ter‐
       minal device is
       followed	 by  a
       newline	 (car‐
       riage-return or
       line-feed).  If
       either  the  or
       option  is set,
       the  user   can
       edit  the  com‐
       mand line.   An
       editing	option
       is    automati‐
       cally  selected
       each  time  the
       or  variable is
       assigned	     a
       value ending in
       either of these
       option names.

       The     editing
       features
       require	  that
       the user's ter‐
       minal accept as
       carriage return
       without	  line
       feed and that a
       space character
       must  overwrite
       the     current
       character    on
       the     screen.
       ADM    terminal
       users	should
       set	   the
       ``space/advance''
       switch	    to
       ``space''.
       Hewlett-Packard
       terminal	 users
       should set  the
       straps	    to
       ``bcGHxZ etX''.

       The     editing
       modes	enable
       the   user   to
       look  through a
       window  at  the
       current	 line.
       The     default
       window width is
       80, unless  the
       value   of   is
       defined.	    If
       the   line   is
       longer than the
       window	 width
       minus  two,   a
       mark  displayed
       at the  end  of
       the	window
       notifies	   the
       user.  The mark
       is a or if  the
       line    extends
       respectively on
       the	right,
       left,  or  both
       side(s)	of the
       window.	As the
       cursor	 moves
       and reaches the
       window	bound‐
       aries, the win‐
       dow is centered
       about the  cur‐
       sor.

       The search com‐
       mands  in  each
       edit  mode pro‐
       vide access  to
       the     history
       file.	  Only
       strings	   are
       matched,	   not
       patterns,
       although	     a
       leading	in the
       string
       restricts   the
       match to	 begin
       at   the	 first
       character    in
       the line.

   Emacs Editing Mode
       This   mode  is
       invoked	    by
       either  the  or
       option.	 Their
       sole difference
       is  their  han‐
       dling   of   To
       edit, the  user
       moves  the cur‐
       sor   to	   the
       point   needing
       correction  and
       inserts	    or
       deletes charac‐
       ters  or words.
       All     editing
       commands	   are
       control charac‐
       ters  or escape
       sequences.  The
       notation	   for
       control charac‐
       ters is circum‐
       flex   followed
       by  the charac‐
       ter.  For exam‐
       ple,   is   the
       notation	   for
       This is entered
       by pressing the
       key while hold‐
       ing  down   the
       Ctrl  (control)
       key.  The Shift
       key is pressed.
       (The   notation
       indicates   the
       DEL    (delete)
       key.)

       The    notation
       for	escape
       sequences    is
       followed	 by  a
       character.  For
       example,	 (pro‐
       nounced Meta f)
       is  entered  by
       depressing  ESC
       (ASCII  033   )
       followed	    by
       would  be   the
       notation	   for
       ESC followed by
       Shift (capital)

       All  edit  com‐
       mands   operate
       from  any place
       on   the	  line
       (not   only  at
       the beginning).
       Neither the nor
       the   key    is
       entered	 after
       edit  commands,
       except	  when
       noted.

       Move	cursor
       forward (right)
       one character.

       Move	cursor
       forward	   one
       word.
		      (The
		      edi‐
		      tor's
		      idea
		      of
		      a
		      word
		      is
		      a
		      string
		      of
		      char‐
		      ac‐
		      ters
		      con‐
		      sist‐
		      ing
		      of
		      only
		      let‐
		      ters,
		      dig‐
		      its
		      and
		      under‐
		      scores.)

       Move	cursor
       backward (left)
       one character.

       Move	cursor
       backward	   one
       word.

       Move cursor  to
       start of line.

       Move  cursor to
       end of line.

       Move	cursor
       forward	    to
       character
		      char
		      on
		      cur‐
		      rent
		      line.

       Move	cursor
       backward	    to
       character
		      char
		      on
		      cur‐
		      rent
		      line.

       Interchange the
       cursor	   and
       mark.

       erase	      (User
		      defined
		      erase
		      char‐
		      ac‐
		      ter
		      as
		      defined
		      by
		      the
		      stty(1)
		      com‐
		      mand,
		      usu‐
		      ally
		      or
		      Delete
		      pre‐
		      vi‐
		      ous
		      char‐
		      ac‐
		      ter.

       Delete  current
       character.

       eof	      End-
		      of-
		      file
		      char‐
		      ac‐
		      ter,
		      nor‐
		      mally
		      ter‐
		      mi‐
		      nates
		      the
		      shell
		      if
		      the
		      cur‐
		      rent
		      line
		      is
		      null.

       Delete  current
       word.

       (Meta-
       backspace)
       Delete previous
       word.

       Delete previous
       word.

       (Meta-DEL)
       Delete previous
       word.
		      If
		      inter‐
		      rupt
		      char‐
		      ac‐
		      ter
		      is
		      (DEL,
		      the
		      default)
		      this
		      com‐
		      mand
		      does
		      not
		      work.

       Transpose  cur‐
       rent  character
       with next char‐
       acter in
		      mode.
		      Trans‐
		      pose
		      two
		      pre‐
		      vi‐
		      ous
		      char‐
		      ac‐
		      ters
		      in
		      mode.

       Capitalize cur‐
       rent character.

       Capitalize cur‐
       rent word.

       Change the cur‐
       rent   word  to
       lowercase.

       Delete from the
       cursor  to  the
       end   of	   the
       line.
		      If
		      pre‐
		      ceded
		      by
		      a
		      numer‐
		      i‐
		      cal
		      param‐
		      e‐
		      ter
		      whose
		      value
		      is
		      less
		      that
		      the
		      cur‐
		      rent
		      cur‐
		      sor
		      posi‐
		      tion,
		      delete
		      from
		      the
		      given
		      posi‐
		      tion
		      up
		      to
		      the
		      cur‐
		      sor.
		      If
		      pre‐
		      ceded
		      by
		      a
		      numer‐
		      i‐
		      cal
		      param‐
		      e‐
		      ter
		      whose
		      value
		      is
		      greater
		      than
		      the
		      cur‐
		      rent
		      cur‐
		      sor
		      posi‐
		      tion,
		      from
		      the
		      cur‐
		      sor
		      up
		      to
		      the
		      given
		      posi‐
		      tion.

       Kill  from  the
       cursor  to  the
       mark.

       Push the region
       from the cursor
       to the mark  on
       the stack.

       kill	      (User-
		      defined
		      kill
		      char‐
		      ac‐
		      ter,
		      as
		      defined
		      by
		      the
		      stty(1)
		      com‐
		      mand,
		      usu‐
		      ally
		      or
		      Kill
		      the
		      entire
		      cur‐
		      rent
		      line.
		      If
		      two
		      kill
		      char‐
		      ac‐
		      ters
		      are
		      entered
		      in
		      suc‐
		      ces‐
		      sion,
		      all
		      sub‐
		      se‐
		      quent
		      con‐
		      sec‐
		      u‐
		      tive
		      kill
		      char‐
		      ac‐
		      ters
		      cause
		      a
		      line
		      feed
		      (use‐
		      ful
		      when
		      using
		      paper
		      ter‐
		      mi‐
		      nals).

       Restore	  last
       item    removed
       from line
		      (yank
		      item
		      back
		      to
		      the
		      line).

       Line  feed  and
       print   current
       line.

       (Null   charac‐
       ter) Set mark.

       (Meta	space)
       Set mark.

       (Newline)  Exe‐
       cute  the  cur‐
       rent line.

       (Return)	  Exe‐
       cute  the  cur‐
       rent line.

       Fetch  previous
       command.
		      Each
		      time
		      is
		      entered,
		      the
		      next
		      pre‐
		      vi‐
		      ous
		      com‐
		      mand
		      in
		      the
		      his‐
		      tory
		      list
		      is
		      accessed.

       Fetch next com‐
       mand.
		      Each
		      time
		      is
		      entered
		      the
		      next
		      com‐
		      mand
		      in
		      the
		      his‐
		      tory
		      list
		      is
		      accessed.

       Fetch the least
       recent (oldest)
       history line.

       Fetch the  most
       recent
       (youngest) his‐
       tory line.

       Reverse	search
       history	for  a
       previous	  com‐
       mand line  con‐
       taining
		      string.
		      If
		      a
		      param‐
		      e‐
		      ter
		      of
		      zero
		      is
		      given,
		      the
		      search
		      is
		      for‐
		      ward.
		      string
		      is
		      ter‐
		      mi‐
		      nated
		      by
		      a
		      or
		      If
		      string
		      is
		      pre‐
		      ceded
		      by
		      a
		      the
		      matched
		      line
		      must
		      begin
		      with
		      string.
		      If
		      string
		      is
		      omit‐
		      ted,
		      the
		      next
		      com‐
		      mand
		      line
		      con‐
		      tain‐
		      ing
		      the
		      most
		      recent
		      string
		      is
		      accessed.
		      In
		      this
		      case
		      a
		      param‐
		      e‐
		      ter
		      of
		      zero
		      reverses
		      the
		      direc‐
		      tion
		      of
		      the
		      search.

       Operate	- Exe‐
       cute  the  cur‐
       rent line
		      and
		      fetch
		      from
		      the
		      his‐
		      tory
		      file
		      the
		      next
		      line
		      rel‐
		      a‐
		      tive
		      to
		      cur‐
		      rent
		      line.

       Define  numeric
       parameter.
		      The
		      dig‐
		      its
		      are
		      taken
		      as
		      a
		      param‐
		      e‐
		      ter
		      to
		      the
		      next
		      com‐
		      mand.
		      The
		      com‐
		      mands
		      that
		      accept
		      a
		      param‐
		      e‐
		      ter
		      are
		      erase,
		      and

       Softkey.	      User's
		      alias
		      list
		      is
		      searched
		      for
		      an
		      alias
		      by
		      the
		      name
		      and
		      if
		      an
		      alias
		      of
		      this
		      name
		      is
		      defined,
		      its
		      value
		      is
		      inserted
		      on
		      the
		      input
		      queue.
		      This
		      let‐
		      ter
		      must
		      not
		      be
		      one
		      of
		      the
		      above
		      meta-
		      func‐
		      tions.

       The  last  word
       of the previous
       command	    is
       inserted on the
       line.
		      If
		      pre‐
		      ceded
		      by
		      a
		      numeric
		      param‐
		      e‐
		      ter,
		      the
		      value
		      of
		      this
		      param‐
		      e‐
		      ter
		      deter‐
		      mines
		      which
		      word
		      to
		      insert
		      rather
		      than
		      the
		      last
		      word.

       Same as

       Attempt	 file-
       name generation
       on the  current
       word.

       File-name  com‐
       pletion.
		      Replaces
		      the
		      cur‐
		      rent
		      word
		      with
		      the
		      long‐
		      est
		      com‐
		      mon
		      pre‐
		      fix
		      of
		      all
		      file‐
		      names
		      match‐
		      ing
		      the
		      cur‐
		      rent
		      word
		      with
		      an
		      aster‐
		      isk
		      appended.
		      If
		      the
		      match
		      is
		      unique,
		      a
		      is
		      appended
		      if
		      the
		      file
		      is
		      a
		      direc‐
		      tory
		      and
		      a
		      space
		      is
		      appended
		      if
		      the
		      file
		      is
		      not
		      a
		      direc‐
		      tory.

       List	 files
       matching	  cur‐
       rent word  pat‐
       tern
		      as
		      if
		      an
		      aster‐
		      isk
		      were
		      appended.

       Multiply param‐
       eter   of  next
       command by 4.

       Escape	  next
       character.
		      Edit‐
		      ing
		      char‐
		      ac‐
		      ters,
		      the
		      user's
		      erase,
		      kill
		      and
		      inter‐
		      rupt
		      (nor‐
		      mally
		      char‐
		      ac‐
		      ters
		      can
		      be
		      entered
		      in
		      a
		      com‐
		      mand
		      line
		      or
		      in
		      a
		      search
		      string
		      if
		      pre‐
		      ceded
		      by
		      a
		      The
		      removes
		      the
		      next
		      char‐
		      ac‐
		      ter's
		      edit‐
		      ing
		      fea‐
		      tures
		      (if
		      any).

       Display version
       of the shell.

       Insert a	      at
		      the
		      begin‐
		      ning
		      of
		      the
		      line
		      and
		      exe‐
		      cute
		      it.
		      This
		      causes
		      a
		      com‐
		      ment
		      to
		      be
		      inserted
		      in
		      the
		      his‐
		      tory
		      file.

   Vi Editing Mode
       There  are  two
       typing	modes.
       Entering a com‐
       mand  puts  you
       into mode.   To
       edit,  the user
       enters mode  by
       pressing	   ESC
       and  moves  the
       cursor  to  the
       point   needing
       correction,
       then inserts or
       deletes charac‐
       ters or	words.
       Most    control
       commands accept
       an     optional
       repeat	 count
       prior   to  the
       command.

       In mode on most
       systems, canon‐
       ical processing
       is    initially
       enabled and the
       command	    is
       echoed again if
       the   speed  is
       1200  baud   or
       greater	   and
       contains	   any
       control charac‐
       ters,   or   if
       less  than  one
       second	   has
       elapsed	 since
       the prompt  was
       printed.	   The
       ESC   character
       terminates
       canonical  pro‐
       cessing for the
       remainder    of
       the command and
       the  user   can
       then modify the
       command	 line.
       This scheme has
       the  advantages
       of    canonical
       processing with
       the  type-ahead
       echoing of  raw
       mode.

       Setting	   the
       option	always
       disables canon‐
       ical processing
       on  the	termi‐
       nal.  This mode
       is implicit for
       systems that do
       not support two
       alternate  end-
       of-line	delim‐
       iters, and  can
       be  helpful for
       certain	termi‐
       nals.

   Input Edit Commands
       By  default the
       editor  is   in
       input mode.

       erase	      Delete
		      pre‐
		      vi‐
		      ous
		      char‐
		      ac‐
		      ter.
		      (erase
		      is
		      a
		      user-
		      defined
		      erase
		      char‐
		      ac‐
		      ter,
		      as
		      defined
		      by
		      the
		      stty(1)
		      com‐
		      mand,
		      usu‐
		      ally
		      or

       Delete the pre‐
       vious	 blank
       separated word.

       Terminate   the
       shell.

       Escape	  next
       character.
		      Edit‐
		      ing
		      char‐
		      ac‐
		      ters,
		      erase
		      or
		      kill
		      char‐
		      ac‐
		      ters
		      can
		      be
		      entered
		      in
		      a
		      com‐
		      mand
		      line
		      or
		      in
		      a
		      search
		      string
		      if
		      pre‐
		      ceded
		      by
		      a
		      removes
		      the
		      next
		      char‐
		      ac‐
		      ter's
		      edit‐
		      ing
		      fea‐
		      tures
		      (if
		      any).

       Escape the next
		      erase
		      or
		      kill
		      char‐
		      ac‐
		      ter.

   Motion  Edit	  Com‐
       mands
       These  commands
       move  the  cur‐
       sor.   The des‐
       ignation
       [count]	causes
       a repetition of
       the command the
       cited number of
       times.

	      Cursor
	      forward
	      (right)
	      one
	      charac‐
	      ter.

	      Cursor
	      forward
	      one
	      alphanu‐
	      meric
	      word.

	      Cursor
	      to   the
	      begin‐
	      ning  of
	      the next
	      word
	      that
	      follows
	      a blank.

	      Cursor
	      to   end
	      of word.

	      Cursor
	      to   end
	      of   the
	      current
	      blank-
	      delim‐
	      ited
	      word.

	      Cursor
	      backward
	      (left)
	      one
	      charac‐
	      ter.

	      Cursor
	      backward
	      one
	      word.

	      Cursor
	      to  pre‐
	      ceding
	      blank
	      sepa‐
	      rated
	      word.

	      Cursor
	      to  col‐
	      umn	     count.
			     Default
			     is
			     1.

	      Find the
	      next
	      charac‐
	      ter	     c
			     in
			     the
			     cur‐
			     rent
			     line.

	      Find the
	      previous
	      charac‐
	      ter	     c
			     in
			     the
			     cur‐
			     rent
			     line.

	      Equiva‐
	      lent to	     fol‐
			     lowed
			     by

	      Equiva‐
	      lent to	     fol‐
			     lowed
			     by

	      Repeats
	      the last
	      single
	      charac‐
	      ter find
	      command,	     or

	      Reverses
	      the last
	      single
	      charac‐
	      ter find
	      command.

	      Cursor
	      to start
	      of line.

	      Cursor
	      to first
	      nonblank
	      charac‐
	      ter   in
	      line.

	      Cursor
	      to   end
	      of line.

   Search  Edit	  Com‐
       mands
       These  commands
       access	  your
       command	  his‐
       tory.

	      Fetch
	      previous
	      command.		Each
				time
				is
				pressed,
				the
				next
				ear‐
				lier
				com‐
				mand
				in
				the
				his‐
				tory
				list
				is
				accessed.

	      Equiva‐
	      lent to

	      Fetch
	      next
	      command.		Each
				time
				is
				entered,
				the
				next
				later
				com‐
				mand
				in
				the
				his‐
				tory
				list
				is
				accessed.

	      Equiva‐
	      lent to

	      The com‐
	      mand
	      number		count
				is
				fetched.
				The
				default
				is
				the
				first
				com‐
				mand
				in
				the
				his‐
				tory
				list.

	      Search
	      backward
	      through
	      history
	      for    a
	      previous
	      command
	      contain‐
	      ing		string.
				string
				is
				ter‐
				mi‐
				nated
				by
				a
				or
				If
				string
				is
				pre‐
				ceded
				by
				a
				the
				matched
				line
				must
				begin
				with
				string.
				If
				string
				is
				null,
				the
				pre‐
				vi‐
				ous
				string
				is
				used.

	      Same as		but
				search
				in
				the
				for‐
				ward
				direc‐
				tion.

	      Search
	      for next
	      match of
	      the last
	      pattern
	      to		or
				com‐
				mands.

	      Search
	      for next
	      match of
	      the last
	      pattern
	      to		or
				but
				in
				reverse
				direc‐
				tion.
				Search
				his‐
				tory
				for
				the
				string
				entered
				by
				the
				pre‐
				vi‐
				ous
				com‐
				mand.

   Text	  Modification
       Edit Commands
       These  commands
       modify	   the
       line.

	      Enter
	      input
	      mode and
	      enter
	      text
	      after
	      the cur‐
	      rent
	      charac‐
	      ter.

	      Append
	      text  to
	      the  end
	      of   the
	      line.		Equiv‐
				a‐
				lent
				to

	      Move
	      cur‐
	      sor
	      to
	      the
	      char‐
	      ac‐
	      ter
	      posi‐
	      tion
	      spec‐
	      i‐
	      fied
	      by		motion,
				delet‐
				ing
				all
				char‐
				ac‐
				ters
				between
				the
				orig‐
				i‐
				nal
				cur‐
				sor
				posi‐
				tion
				and
				new
				posi‐
				tion,
				and
				enter
				input
				mode.
				If
				motion
				is
				the
				entire
				line
				is
				deleted
				and
				input
				mode
				entered.

	      Delete
	      the
	      cur‐
	      rent
	      char‐
	      ac‐
	      ter
	      through
	      the
	      end
	      of
	      line
	      and
	      enter
	      input
	      mode.		Equiv‐
				a‐
				lent
				to

	      Equiv‐
	      a‐
	      lent
	      to

	      Delete
	      the
	      cur‐
	      rent
	      char‐
	      ac‐
	      ter
	      through
	      end
	      of
	      line.		Equiv‐
				a‐
				lent
				to

	      Move
	      cur‐
	      sor
	      to
	      the
	      char‐
	      ac‐
	      ter
	      posi‐
	      tion
	      spec‐
	      i‐
	      fied
	      by		motion,
				delet‐
				ing
				all
				char‐
				ac‐
				ters
				between
				the
				orig‐
				i‐
				nal
				cur‐
				sor
				posi‐
				tion
				and
				new
				posi‐
				tion.
				If
				motion
				is
				the
				entire
				line
				is
				deleted.

	      Enter
	      input
	      mode
	      and
	      insert
	      text
	      before
	      the
	      cur‐
	      rent
	      char‐
	      ac‐
	      ter.

	      Insert
	      text
	      before
	      the
	      begin‐
	      ning
	      of
	      the
	      line.		Equiv‐
				a‐
				lent
				to
				the
				two-
				char‐
				ac‐
				ter
				sequence

	      Place
	      the
	      pre‐
	      vi‐
	      ous
	      text
	      mod‐
	      i‐
	      fi‐
	      ca‐
	      tion
	      before
	      the
	      cur‐
	      sor.

	      Place
	      the
	      pre‐
	      vi‐
	      ous
	      text
	      mod‐
	      i‐
	      fi‐
	      ca‐
	      tion
	      after
	      the
	      cur‐
	      sor.

	      Enter
	      input
	      mode
	      and
	      replace
	      char‐
	      ac‐
	      ters
	      on
	      the
	      screen		with
				char‐
				ac‐
				ters
				you
				type
				in
				over‐
				lay
				fash‐
				ion.

	      Replace
	      the
	      cur‐
	      rent
	      char‐
	      ac‐
	      ter
	      with		c.

	      Delete
	      cur‐
	      rent
	      char‐
	      ac‐
	      ter.

	      Delete
	      pre‐
	      ced‐
	      ing
	      char‐
	      ac‐
	      ter.

	      Repeat
	      the
	      pre‐
	      vi‐
	      ous
	      text
	      mod‐
	      i‐
	      fi‐
	      ca‐
	      tion
	      com‐
	      mand.

	      Invert
	      the
	      case
	      of
	      the
	      cur‐
	      rent
	      char‐
	      ac‐
	      ter
	      and
	      advance
	      the
	      cur‐
	      sor.

	      Causes
	      the		count
				word
				of
				the
				pre‐
				vi‐
				ous
				com‐
				mand
				to
				be
				appended
				at
				the
				cur‐
				rent
				cur‐
				sor
				loca‐
				tion
				and
				places
				the
				edi‐
				tor
				in
				input
				mode
				at
				the
				end
				of
				the
				appended
				text.
				The
				last
				word
				is
				used
				if
				count
				is
				omit‐
				ted.

	      Appends
	      an		to
				the
				cur‐
				rent
				word
				and
				attempts
				file
				name
				gen‐
				er‐
				a‐
				tion.
				If
				no
				match
				is
				found,
				the
				bell
				rings.
				If
				a
				match
				is
				found,
				the
				word
				is
				replaced
				by
				the
				match‐
				ing
				string
				and
				the
				com‐
				mand
				places
				the
				edi‐
				tor
				in
				input
				mode.

	      ESC
	      Attempt
	      file
	      name
	      com‐
	      ple‐
	      tion
	      on
	      the
	      cur‐
	      rent
	      word.		Replaces
				the
				cur‐
				rent
				word
				with
				the
				long‐
				est
				com‐
				mon
				pre‐
				fix
				of
				all
				file‐
				names
				match‐
				ing
				the
				cur‐
				rent
				word
				with
				an
				aster‐
				isk
				appended.
				If
				the
				match
				is
				unique,
				a
				is
				appended
				if
				the
				file
				is
				a
				direc‐
				tory
				and
				a
				space
				is
				appended
				if
				the
				file
				is
				not
				a
				direc‐
				tory.

   Other
       Edit
       Com‐
       mands
	      Yank
	      cur‐
	      rent
	      char‐
	      ac‐
	      ter
	      through
	      char‐
	      ac‐
	      ter
	      that		motion
				would
				move
				the
				cur‐
				sor
				to
				and
				puts
				them
				into
				the
				delete
				buf‐
				fer.
				The
				text
				and
				cur‐
				sor
				are
				unchanged.

	      Yanks
	      from
	      cur‐
	      rent
	      posi‐
	      tion
	      to
	      end
	      of
	      line.		Equiv‐
				a‐
				lent
				to

	      Undo
	      the
	      last
	      text
	      mod‐
	      i‐
	      fy‐
	      ing
	      com‐
	      mand.

	      Undo
	      all
	      the
	      text
	      mod‐
	      i‐
	      fy‐
	      ing
	      com‐
	      mands
	      per‐
	      formed
	      on
	      the
	      line.

	      [count]v		Returns
				the
				com‐
				mand
				in
				the
				input
				buf‐
				fer.
				If
				count
				is
				omit‐
				ted,
				the
				cur‐
				rent
				line
				is
				used.

	      Line
	      feed
	      and
	      print
	      cur‐
	      rent
	      line.		Has
				effect
				only
				in
				con‐
				trol
				mode.

	      (New line)
	      Exe‐
	      cute
	      the
	      cur‐
	      rent
	      line,
	      regard‐
	      less
	      of
	      mode.

	      (Return)
	      Exe‐
	      cute
	      the
	      cur‐
	      rent
	      line,
	      regard‐
	      less
	      of
	      mode.

	      Equiv‐
	      a‐
	      lent
	      to		fol‐
				lowed
				by
				Sends
				the
				line
				after
				insert‐
				ing
				a
				in
				front
				of
				the
				line
				and
				after
				each
				new‐
				line.
				Use‐
				ful
				for
				insert‐
				ing
				the
				cur‐
				rent
				com‐
				mand
				line
				in
				the
				his‐
				tory
				list
				with‐
				out
				exe‐
				cut‐
				ing
				it.

	      List
	      the
	      file‐
	      names
	      that
	      match
	      the
	      cur‐
	      rent
	      word
	      if
	      an
	      aster‐
	      isk
	      were		appended
				to
				it.

	      The
	      user's
	      alias
	      list
	      is
	      searched
	      for
	      an
	      alias
	      by
	      the
	      name		and
				if
				an
				alias
				of
				this
				name
				is
				defined,
				its
				value
				is
				inserted
				on
				the
				input
				queue
				for
				pro‐
				cess‐
				ing.

EXTER‐
       NAL
       INFLU‐
       ENCES

   Envi‐
       ron‐
       ment
       Vari‐
       ables
       deter‐
       mines
       the
       col‐
       lat‐
       ing
       sequence
       used
       in
       eval‐
       u‐
       at‐
       ing
       pat‐
       tern
       match‐
       ing
       nota‐
       tion
       for
       file
       name
       gen‐
       er‐
       a‐
       tion.

       deter‐
       mines
       the
       clas‐
       si‐
       fi‐
       ca‐
       tion
       of
       char‐
       ac‐
       ters
       as
       let‐
       ters,
       and
       the
       char‐
       ac‐
       ters
       matched
       by
       char‐
       ac‐
       ter
       class
       expres‐
       sions
       in
       pat‐
       tern
       match‐
       ing
       nota‐
       tion.

       If
       or
       is
       not
       spec‐
       i‐
       fied
       in
       the
       envi‐
       ron‐
       ment
       or
       is
       set
       to
       the
       empty
       string,
       the
       value
       of
       is
       used
       as
       a
       default
       for
       each
       unspec‐
       i‐
       fied
       or
       empty
       vari‐
       able.
       If
       is
       not
       spec‐
       i‐
       fied
       or
       is
       set
       to
       the
       empty
       string,
       a
       default
       of
       "C"
       (see
       lang(5))
       is
       used
       instead
       of
       If
       any
       inter‐
       na‐
       tion‐
       al‐
       iza‐
       tion
       vari‐
       able
       con‐
       tains
       an
       invalid
       set‐
       ting,
       behaves
       as
       if
       all
       inter‐
       na‐
       tion‐
       al‐
       iza‐
       tion
       vari‐
       ables
       are
       set
       to
       "C".
       See
       env‐
       i‐
       ron(5).

       switches
       the
       pro‐
       cess‐
       ing
       of
       quoted
       metachar‐
       ac‐
       ters
       in
       ""
       con‐
       structs.
       If
       is
       defined
       in
       the
       envi‐
       ron‐
       ment,
       then
       any
       part
       of
       pat‐
       tern
       can
       be
       quoted
       to
       cause
       it
       to
       be
       matched
       as
       a
       string.
       This
       usage
       fol‐
       lows
       the
       con‐
       ven‐
       tions
       of
       dtksh(1).
       If
       is
       not
       defined
       in
       the
       envi‐
       ron‐
       ment,
       then
       pro‐
       cess‐
       ing
       fol‐
       lows
       the
       tra‐
       di‐
       tional
       Korn
       shell
       con‐
       ven‐
       tions.

   Inter‐
       na‐
       tional
       Code
       Set
       Sup‐
       port
       Sin‐
       gle-
       byte
       char‐
       ac‐
       ter
       code
       sets
       are
       sup‐
       ported.

RETURN
       VALUE

       Errors
       detected
       by
       the
       shell,
       such
       as
       syn‐
       tax
       errors,
       cause
       the
       shell
       to
       return
       a
       nonzero
       exit
       sta‐
       tus.
       Oth‐
       er‐
       wise,
       the
       shell
       returns
       the
       exit
       sta‐
       tus
       of
       the
       last
       com‐
       mand
       exe‐
       cuted
       (also
       see
       the
       com‐
       mand
       above).
       If
       the
       shell
       is
       being
       used
       non-
       inter‐
       ac‐
       tively,
       exe‐
       cu‐
       tion
       of
       the
       shell
       file
       is
       aban‐
       doned.
       Run‐
       time
       errors
       detected
       by
       the
       shell
       are
       reported
       by
       print‐
       ing
       the
       com‐
       mand
       or
       func‐
       tion
       name
       and
       the
       error
       con‐
       di‐
       tion.
       If
       the
       line
       num‐
       ber
       on
       which
       the
       error
       occurred
       is
       greater
       than
       one,
       the
       line
       num‐
       ber
       is
       also
       printed
       in
       brack‐
       ets
       after
       the
       com‐
       mand
       or
       func‐
       tion
       name.

WARN‐
       INGS

       File
       descrip‐
       tors
       10
       and
       54
       through
       60
       are
       used
       inter‐
       nally
       by
       the
       Korn
       Shell.
       Appli‐
       ca‐
       tions
       using
       these
       and
       fork‐
       ing
       a
       sub‐
       shell
       should
       not
       depend
       upon
       them
       sur‐
       viv‐
       ing
       in
       the
       sub‐
       shell
       or
       its
       descen‐
       dants.

       If
       a
       com‐
       mand
       which
       is
       a
       is
       exe‐
       cuted,
       and
       a
       com‐
       mand
       with
       the
       same
       name
       is
       installed
       in
       a
       direc‐
       tory
       in
       the
       search
       path
       before
       the
       direc‐
       tory
       where
       the
       orig‐
       i‐
       nal
       com‐
       mand
       was
       found,
       the
       shell
       con‐
       tin‐
       ues
       to
       load
       and
       exe‐
       cute
       the
       orig‐
       i‐
       nal
       com‐
       mand.
       Use
       the
       option
       of
       the
       com‐
       mand
       to
       cor‐
       rect
       this
       sit‐
       u‐
       a‐
       tion.

       If
       you
       move
       the
       cur‐
       rent
       direc‐
       tory
       or
       one
       above
       it,
       may
       not
       give
       the
       cor‐
       rect
       response.
       Use
       the
       com‐
       mand
       with
       a
       full
       path
       name
       to
       cor‐
       rect
       this
       sit‐
       u‐
       a‐
       tion.

       Some
       very
       old
       shell
       scripts
       con‐
       tain
       a
       caret
       as
       a
       syn‐
       onym
       for
       the
       pipe
       char‐
       ac‐
       ter
       Note
       how‐
       ever,
       does
       not
       rec‐
       og‐
       nize
       the
       caret
       as
       a
       pipe
       char‐
       ac‐
       ter.

       If
       a
       com‐
       mand
       is
       piped
       into
       a
       shell
       com‐
       mand,
       all
       vari‐
       ables
       set
       in
       the
       shell
       com‐
       mand
       are
       lost
       when
       the
       com‐
       mand
       com‐
       pletes.

       Using
       the
       built-
       in
       com‐
       mand
       within
       a
       com‐
       pound
       com‐
       mand
       causes
       the
       entire
       com‐
       mand
       to
       dis‐
       ap‐
       pear
       from
       the
       his‐
       tory
       file.

       The
       built-
       in
       com‐
       mand
       .
       file
       reads
       the
       entire
       file
       before
       any
       com‐
       mands
       are
       exe‐
       cuted.
       There‐
       fore,
       and
       com‐
       mands
       in
       the
       file
       do
       not
       apply
       to
       any
       func‐
       tions
       defined
       in
       the
       file.

       Traps
       are
       not
       pro‐
       cessed
       while
       the
       shell
       is
       wait‐
       ing
       for
       a
       fore‐
       ground
       job.
       Thus,
       a
       trap
       on
       is
       not
       exe‐
       cuted
       until
       the
       fore‐
       ground
       job
       ter‐
       mi‐
       nates.

       The
       built-
       in
       com‐
       mand
       does
       not
       han‐
       dle
       arrays
       prop‐
       erly.
       Only
       the
       first
       ele‐
       ment
       of
       an
       array
       is
       exported
       to
       the
       envi‐
       ron‐
       ment.

       Back‐
       ground
       pro‐
       cesses
       started
       from
       a
       non-
       inter‐
       ac‐
       tive
       shell
       can‐
       not
       be
       accessed
       by
       using
       job
       con‐
       trol
       com‐
       mands.

       In
       an
       inter‐
       na‐
       tional
       envi‐
       ron‐
       ment,
       char‐
       ac‐
       ter
       order‐
       ing
       is
       deter‐
       mined
       by
       the
       set‐
       ting
       of
       rather
       than
       by
       the
       binary
       order‐
       ing
       of
       char‐
       ac‐
       ter
       val‐
       ues
       in
       the
       machine
       col‐
       lat‐
       ing
       sequence.
       This
       brings
       with
       it
       cer‐
       tain
       atten‐
       dant
       dan‐
       gers,
       par‐
       tic‐
       u‐
       larly
       when
       using
       range
       expres‐
       sions
       in
       file
       name
       gen‐
       er‐
       a‐
       tion
       pat‐
       terns.
       For
       exam‐
       ple,
       the
       com‐
       mand,

       might
       be
       expected
       to
       match
       all
       file
       names
       begin‐
       ning
       with
       a
       low‐
       er‐
       case
       alpha‐
       betic
       char‐
       ac‐
       ter.
       How‐
       ever,
       if
       dic‐
       tio‐
       nary
       order‐
       ing
       is
       spec‐
       i‐
       fied
       by
       it
       would
       also
       match
       file
       names
       begin‐
       ning
       with
       an
       upper‐
       case
       char‐
       ac‐
       ter
       (as
       well
       as
       those
       begin‐
       ning
       with
       accented
       let‐
       ters).
       Con‐
       versely,
       it
       would
       fail
       to
       match
       let‐
       ters
       col‐
       lated
       after
       in
       lan‐
       guages
       such
       as
       Dan‐
       ish
       or
       Nor‐
       we‐
       gian.

       The
       cor‐
       rect
       (and
       safe)
       way
       to
       match
       spe‐
       cific
       char‐
       ac‐
       ter
       classes
       in
       an
       inter‐
       na‐
       tional
       envi‐
       ron‐
       ment
       is
       to
       use
       a
       pat‐
       tern
       of
       the
       form:

       This
       uses
       to
       deter‐
       mine
       char‐
       ac‐
       ter
       classes
       and
       works
       pre‐
       dictably
       for
       all
       sup‐
       ported
       lan‐
       guages
       and
       code‐
       sets.
       For
       shell
       scripts
       pro‐
       duced
       on
       non-
       inter‐
       na‐
       tion‐
       al‐
       ized
       sys‐
       tems
       (or
       with‐
       out
       con‐
       sid‐
       er‐
       a‐
       tion
       for
       the
       above
       dan‐
       gers),
       it
       is
       rec‐
       om‐
       mended
       that
       they
       be
       exe‐
       cuted
       in
       a
       non-
       NLS
       envi‐
       ron‐
       ment.
       This
       requires
       that
       etc.,
       be
       set
       to
       "C"
       or
       not
       set
       at
       all.

       Be
       aware
       that
       the
       value
       of
       the
       vari‐
       able
       in
       the
       user's
       envi‐
       ron‐
       ment
       affects
       the
       behav‐
       ior
       of
       scripts.

       imple‐
       ments
       com‐
       mand
       sub‐
       sti‐
       tu‐
       tion
       by
       cre‐
       at‐
       ing
       a
       pipe
       between
       itself
       and
       the
       com‐
       mand.
       If
       the
       root
       file
       sys‐
       tem
       is
       full,
       the
       sub‐
       sti‐
       tuted
       com‐
       mand
       can‐
       not
       write
       to
       the
       pipe.
       As
       a
       result,
       the
       shell
       receives
       no
       input
       from
       the
       com‐
       mand,
       and
       the
       result
       of
       the
       sub‐
       sti‐
       tu‐
       tion
       is
       null.
       In
       par‐
       tic‐
       u‐
       lar,
       using
       com‐
       mand
       sub‐
       sti‐
       tu‐
       tion
       for
       vari‐
       able
       assign‐
       ment
       under
       such
       cir‐
       cum‐
       stances
       results
       in
       the
       vari‐
       able
       being
       silently
       assigned
       a
       NULL
       value.

       The
       con‐
       tents
       of
       are
       stored
       in
       tem‐
       po‐
       rary
       files
       named
       After
       their
       usage,
       an
       attempt
       to
       remove
       these
       tem‐
       po‐
       rary
       files
       occurs.
       How‐
       ever,
       because
       of
       design
       lim‐
       i‐
       ta‐
       tions,
       some
       of
       these
       tem‐
       po‐
       rary
       files
       may
       not
       be
       removed.

AUTHOR

       was
       devel‐
       oped
       by
       AT&T.

FILES

       to
       find
       home
       direc‐
       to‐
       ries
       read
       to
       set
       up
       sys‐
       tem
       envi‐
       ron‐
       ment
       secu‐
       rity
       pro‐
       file
       read
       to
       set
       up
       user's
       cus‐
       tom
       envi‐
       ron‐
       ment
       for
       here-
       doc‐
       u‐
       ments

SEE
       ALSO

       cat(1),
       cd(1),
       echo(1),
       env(1),
       getopts(1),
       kill(1),
       pwd(1),
       read(1),
       test(1),
       time(1),
       umask(1),
       vi(1),
       dup(2),
       exec(2),
       fork(2),
       gtty(2),
       pipe(2),
       stty(2),
       umask(2),
       ulimit(2),
       wait(2),
       rand(3C),
       a.out(4),
       pro‐
       file(4),
       env‐
       i‐
       ron(5),
       lang(5),
       reg‐
       exp(5),
       sig‐
       nal(5).

									ksh(1)
[top]

List of man pages available for HP-UX

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