Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ksh(1)			    General Commands Manual			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  ef-
		      fects, most special commands can be implemented as sepa-
		      rate 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 pa-
       rameter assignment list.	 (See below).  The first  word	specifies  the
       name of the command to be executed.  Except as specified	below, the re-
       maining words are passed	as arguments to	the invoked command.  The com-
       mand  name is passed as argument	0 (see exec(2)).  The of a simple-com-
       mand is its exit	status if it terminates	normally, or (octal)  200+sta-
       tus  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 us-
       ing the option of the special commands and described later.  The	symbol
       causes the list following it to be executed only	if the preceding pipe-
       line returns a zero (non-zero) 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 be-
		      low).

       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 terminates.	If no commands
		      in  the  list  are executed, 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  in-
		      serted  to  avoid	arithmetic evaluation as described be-
		      low.

       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 expres-
		      sion is true.  See below,	for a description  of  expres-
		      sion.  Note that and are keywords	and require blanks be-
		      tween 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 standard error. Note that  the  key-
		      word can appear anywhere in the pipeline to time the en-
		      tire pipeline.  To time a	particular command in a	 pipe-
		      line, see	time(1).

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

   Comments
       A word beginning	with causes that word and all subsequent characters up
       to a new-line 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 consists  of  any  number  of
       characters excluding metacharacters, quoting characters,	file expansion
       characters, parameter and command substitution characters, and The  re-
       placement  string  can  contain	any  valid shell script, including the
       metacharacters listed above.  The first word of each command in the re-
       placed  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 sub-
       stitution.  Aliases can be used to redefine special built-in  commands,
       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  be-
       low).

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

       Aliases are frequently used as a	shorthand for full path	names.	An op-
       tion to the aliasing facility allows the	value of the alias to be auto-
       matically  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  ref-
       erence  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 rede-
       fined:

   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 re-
       placed 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  be-
       gins with a

   Command Substitution
       The  standard output from a command enclosed in parenthesis 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	new-lines are removed.	In the
       second (archaic)	form, the string between the quotes is	processed  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	without	 creating  a  separate
       process.	  However,  command substitution of a function creates a sepa-
       rate process to execute the function and	all commands (built-in or oth-
       erwise) in that function.

       An  arithmetic  expression enclosed in double parenthesis preceded by a
       dollar sign is replaced by  the	value  of  the	arithmetic  expression
       within  the  double  parenthesis	(see below for a description of	arith-
       metic 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	command.  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 facility.  An ele-
       ment of an array	parameter is referenced	by a subscript.	  A  subscript
       is  denoted  by a followed by an	arithmetic expression (see below) fol-
       lowed 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 with-
       out 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.	 Parameter is set from	argument  zero
       when the	shell is invoked.

       The character is	used to	introduce substitutable	parameters.

	      Substitute the value of the parameter, if	any.
				  Braces  are  required	when parameter is fol-
				  lowed	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 dig-
				  its, it is a positional parameter.  A	 posi-
				  tional 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	 sepa-
				  rator	 character).   If  an array identifier
				  with subscript or is	used,  the  value  for
				  each	element	is substituted (separated 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 pa-
				  rameters  is	substituted.   Otherwise,  the
				  length of the	value of the parameter is sub-
				  stituted.

	      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  pa-
				  rameter.   Positional	 parameters  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 stan-
				  dard message is printed.

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

	      If		  the shell pattern matches the	 beginning  of
				  the  value  of  parameter, the value of this
				  substitution is the value of	the  parameter
				  with	the matched portion deleted; otherwise
				  the value of this parameter  In  the	former
				  case,	  the  smallest	 matching  pattern  is
				  deleted; in the  latter  case,  the  largest
				  matching pattern is deleted.

	      If the shell	  pattern  matches the end of the value	of pa-
				  rameter, the value  of  parameter  with  the
				  matched  part	 is deleted; otherwise substi-
				  tute the value of parameter.	In the former,
				  the smallest matching	pattern	is deleted; in
				  the latter, the largest matching pattern  is
				  deleted.

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

	      If  the  colon  is omitted from the above	expressions, the shell
	      only checks to determine whether or not parameter	is set.

       The following parameters	are set	automatically by the shell:

	      The number of positional parameters in decimal.
	      Options supplied to the shell on invocation or by
			     the command.
	      The decimal value	returned by the	last executed command.
	      The process number of this shell.
	      Initially, the value of
			     is	an absolute pathname of	the  shell  or	script
			     being  executed  as  passed  in  the environment.
			     Subsequently it is	assigned the last argument  of
			     the  previous command.  This parameter is not set
			     for commands which	are asynchronous.  This	param-
			     eter  is also used	to hold	the name of the	match-
			     ing file when checking 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 printing
			     lists.  In	a windowed environment,	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  system dependent and is intended
			     for debugging purposes.
	      The line number of the current line within the script or
			     function being executed.
	      If this variable is set,
			     the value is used to determine the	column	length
			     for printing lists.  lists	print vertically until
			     about two-thirds of lines are filled.  In a  win-
			     dowed  environment, if the	shell detects that the
			     window size has changed, the  shell  updates  the
			     value of
	      The previous working directory set by the
			     command.
	      The value	of the last option argument processed by the
			     special command.
	      The index	of the last option argument processed by the
			     special command.
	      The process number of the	parent of the shell.
	      The present working directory set	by the
			     command.
	      Each  time  this	parameter is evaluated,	a random integer, uni-
	      formly
			     distributed between 0 and	32767,	is  generated.
			     The sequence of random numbers can	be initialized
			     by	assigning a numeric value to
	      This parameter is	set by the
			     statement and by the special command when no  ar-
			     guments are supplied.
	      Each time	this parameter is referenced,
			     the  number  of seconds since shell invocation is
			     returned.	If this	parameter is assigned a	value,
			     the  value	 returned  upon	reference is the value
			     that was assigned	plus  the  number  of  seconds
			     since the assignment.

       The following parameters	are used by the	shell:

	      The search path for the
			     command.
	      If the value of this variable ends in
			     or	and the	variable is not	set, the corresponding
			     option is turned on (see in below).
	      If this parameter	is set,
			     parameter substitution is performed on the	 value
			     to	generate the path name of the script to	be ex-
			     ecuted when the shell  is	invoked	 (see  below).
			     This  file	 is typically used for alias and func-
			     tion definitions.
	      The default editor name for the
			     command.
	      The search path for function definitions.
			     This path is searched when	a  function  with  the
			     attribute is referenced and when a	command	is not
			     found.  If	an executable file is found,  then  it
			     is	read and executed in the current environment.
	      Internal field separators, normally
			     space,  tab,  and new-line	that are used to sepa-
			     rate command words	resulting from command or  pa-
			     rameter  substitution,  and  for separating words
			     with the special command The first	 character  of
			     the  parameter  is	used to	separate arguments for
			     the substitution (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 history.  The default
			     value is If the user has  appropriate  privileges
			     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 previously entered commands	acces-
			     sible to this shell will be greater than or equal
			     to	this number.  The default is
	      The default argument (home directory) for	the
			     command.
	      If this parameter	is set to the name of a	mail file and the
			     parameter is not set, the shell informs the  user
			     of	arrival	of mail	in the specified file.
	      This variable specifies how often	(in seconds) the
			     shell checks for changes in the modification time
			     of	any of the files specified by the  or  parame-
			     ters.   The  default  value is seconds.  When the
			     time has elapsed the shell	checks before  issuing
			     the next prompt.
	      A	list of	file names separated by	colons (:).
			     If	 this  parameter is set, the shell informs the
			     user of any modifications to the specified	 files
			     that have occurred	within the last	seconds.  Each
			     file name can be followed by a and	a  message  to
			     be	 printed,  in which case the message undergoes
			     parameter and command substitution	with  the  pa-
			     rameter  defined as the name of the changed file.
			     The default message is
	      The search path for commands (see
			     below).  The user cannot change if	executing (ex-
			     cept in the file).
	      The  value of this parameter is expanded for parameter substitu-
	      tion,
			     to	define the primary prompt string which,	by de-
			     fault,  is	 followed  by  a space character.  The
			     character in the primary  prompt  string  is  re-
			     placed by the command number (see below).	To in-
			     clude a in	the prompt, use
	      Secondary	prompt string, by default
			     followed by a space character.
	      Selection	prompt string used within a
			     loop, by default followed by a space character.
	      The value	of this	variable is expanded for parameter
			     substitution and precedes each line of an	execu-
			     tion  trace.   If	is  unset, the execution trace
			     prompt is followed	by a space character.
	      The path name of the shell is kept in the	environment.
			     When invoked, the	shell  is  restricted  if  the
			     value  of	this variable contains an in the base-
			     name.
	      If set to	a value	greater	than zero,
			     the shell terminates if a command is not  entered
			     within the	prescribed number of seconds after is-
			     suing the prompt.
	      Invokes the corresponding	option when the	value of
			     this variable ends	in emacs, gmacs, or vi (see in
			     below).

       The  shell  gives default values	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
       distinct	arguments where	such characters	are found.   retains  explicit
       null  arguments or but removes implicit null arguments (those resulting
       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 patterns
       is the Pattern Matching Notation	defined	by regexp(5).  The word	is re-
       placed with sorted file names matching 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), recognizes  compos-
       ite  patterns  made up of one or	more pattern 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 patterns.

	      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 mean-
       ing to the shell	and causes termination of a  word  unless  quoted.   A
       character  can be (i.e.,	made to	stand for itself) by preceding it with
       a The pair is ignored.  All characters enclosed between a pair of  sin-
       gle quote marks are quoted.  A single quote cannot appear within	single
       quotes.	Inside double quote marks parameter and	 command  substitution
       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 argument,	is equivalent to where
       d is the	first character	of the parameter,  whereas  is	equivalent  to
       ....   Inside back single quote (accent grave) marks quotes the charac-
       ters and	If the back single quotes occur	 within	 double	 quotes,  also
       quotes the character

       The  special  meaning  of keywords or aliases can be removed by quoting
       any character 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 integer arithmetic is provided with the special
       command Evaluations are performed  using	 long  arithmetic.   Constants
       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 omitted,	base 10	is used.

       An arithmetic expression	uses the same syntax, precedence, and associa-
       tivity of expression 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  substitu-
       tion  syntax.  When a variable is referenced, its value is evaluated as
       an arithmetic expression.

       An internal integer representation of a variable	can be specified  with
       the  option of the special command.  Arithmetic evaluation is performed
       on the value of each assignment 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	param-
       eter substitution occurs.

       Since  many of the arithmetic operators require quoting,	an alternative
       form of the command 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 new-line is typed and further in-
       put 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  per-
       formed on the words between and Each expression can be constructed from
       one or more of the following unary or binary expressions:

	      True if		  file exists.
	      True if		  file exists and is a block special file.
	      True if		  file exists and is a character special file.
	      True if		  file exists and is a directory.
	      True if		  file exists and is an	ordinary file.
	      True if		  file exists and is has its setgid bit	set.
	      True if		  file exists and is a a symbolic link.
	      True if		  file exists and is has its sticky bit	set.
	      True if length of	  string is non-zero.
	      True if option named
				  option is on.
	      True if		  file exists and is a fifo special file or  a
				  pipe.
	      True if		  file	exists	and  is	 readable  by  current
				  process.
	      True if		  file exists and has size greater than	zero.
	      True if file descriptor number
				  fildes is open and associated	with a	termi-
				  nal device.
	      True if		  file exists and is has its setuid bit	set.
	      True if		  file	exists	and  is	 writable  by  current
				  process.
	      True if		  file exists and  is  executable  by  current
				  process.  If file exists and is a directory,
				  the current process has permission to	search
				  in the directory.
	      True if length of	  string is zero.
	      True if		  file exists and is a symbolic	link.
	      True if		  file	exists	and  is	owned by the effective
				  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 pattern.
	      True if		  string does not match	pattern.
	      True if		  string1 comes	before string2 based on	 ASCII
				  value	of their characters.
	      True if		  string1  comes  after	string2	based on ASCII
				  value	of their characters.
	      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 primitives by using
       any of the following, listed in decreasing order	of precedence.

	      True, if				 expression  is	true.  Used to
						 group expressions.
	      True if				 expression is false.
	      True, if				 expression1  and  expression2
						 are both true.
	      True, if either			 expression1 or	expression2 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 command.	 Command and parameter
       substitution occurs before word or digit	is used, except	as  noted  be-
       low.   File name	generation occurs only if the pattern matches a	single
       file and	blank interpretation is	not performed.

	      Use file	     word as standard input (file descriptor

	      Use file	     word as standard output (file descriptor  If  the
			     file  does	not exist, it is created.  If the file
			     exists, and the option is on,  an	error  occurs;
			     otherwise,	the file is truncated to zero length.

	      Sames as	     except that it overrides the option.

	      Use file	     word  as  standard	 output.   If the file exists,
			     output is appended	to it (by first	searching  for
			     the end-of-file); otherwise, the file is created.

	      Open file	     word  for	reading	and writing as standard	input.
			     If	the file does not exist	it is created.

	      The shell	input is read up to a line that	matches
			     word, or to an end-of-file.  No parameter substi-
			     tution, command substitution, or file name	gener-
			     ation is performed	on word.  The resulting	 docu-
			     ment,  called  a  becomes the standard input.  If
			     any character of word is quoted,  no  interpreta-
			     tion  is  placed upon the characters of the docu-
			     ment.  Otherwise, parameter and command substitu-
			     tion  occurs,  is	ignored,  and  must be used to
			     quote the characters and the first	 character  of
			     word.   If	 is  appended  to all leading tabs are
			     stripped from word	and from the document.

	      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 preceded by a digit, the file descriptor	number
       cited is	that specified by the digit (instead of	the default or For ex-
       ample:

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

       Redirection  order  is significant because the shell evaluates redirec-
       tions referencing file descriptors in terms of the currently open  file
       associated  with	 the  specified	file descriptor	at the time of evalua-
       tion.  For example:

	      ...  1_fname 2__1

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

	      ...  2__1	1_fname

       file descriptor 2 is assigned to	the current standard output (user ter-
       minal 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 redirection operators.  If the input of the current co-
       process	is moved to a numbered 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 envi-
       ronment 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 exe-
       cuted program much like a normal	argument list.	The names must be  and
       the  values  are	character strings.  The	shell interacts	with the envi-
       ronment in several ways.	 When invoked, the shell scans the environment
       and creates a parameter for each	name found, gives it the corresponding
       value, and marks	it export.  Executed commands inherit the environment.
       If the user modifies the	values of these	parameters or creates new ones
       by using	the or commands, the values become part	 of  the  environment.
       The  environment	 seen  by any executed command is thus composed	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 simple-command or function can be augmented  by
       prefixing  it  with one or more parameter assignments.  A parameter as-
       signment	argument takes the form	For example,

       and

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

       If the option is	set, all parameter assignment arguments	are placed  in
       the  environment,  even if they occur after the command name.  The fol-
       lowing echo statement prints After the option is	set, the  second  echo
       statement prints	only

       This  feature  is  intended for use with	scripts	written	for early ver-
       sions 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	terminates and the condition is	passed on to  the  caller.   A
       trap  on	set inside a function is executed after	the function completes
       in the environment of the caller.  Ordinarily, variables	are shared be-
       tween  the calling program and the function.  However, the special com-
       mand used within	a function defines local  variables  whose  scope  in-
       cludes the current function and all functions it	calls.

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

       Function	identifiers can	be listed with the option of the special  com-
       mand.   Function	 identifiers  and the associated text of the functions
       can be listed with the option.  Functions can be	undefined with the op-
       tion of the special command.

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

   Jobs
       If  the	option of the command is turned	on, an interactive shell asso-
       ciates 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 asynchronously 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 sus-
       pend character (usually (Ctrl-Z)) to send a STOP	signal to the  current
       job.   The  shell  then	indicates that the job has been	`Stopped', and
       prints another prompt.  The state of this job can be manipulated	by us-
       ing  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 resembles	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	termi-
       nal.  Background	jobs normally are allowed to produce output,  but  can
       be  disabled  by	giving the command.  If	the user sets this tty option,
       background jobs stop when trying	to produce output.

       There are several ways to refer to jobs in the shell.  A	job can	be re-
       ferred  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  completes	 trig-
       gers any	trap set for

       Attempting  to  leave  the shell	while jobs are running or stopped pro-
       duces the warning, Use the command to identify them.  An	immediate  at-
       tempt  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 com-
       mand 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 current
       shell  process.	 Next, checks the command name to determine whether it
       matches one of the user-defined functions.  If it does, saves the posi-
       tional  parameters  and then sets them to the arguments 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 func-
       tion 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-de-
       fined  creates a	process	and attempts to	execute	the command using (see
       exec(2)).

       The shell parameter defines the search path for the directory  contain-
       ing  the	command.  Alternative directory	names are separated by a colon
       The default path	is (specifying and the current directory in  that  or-
       der).  Note that	the current directory is specified by a	null path name
       which can appear	immediately after the equals sign, between  colon  de-
       limiters,  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 permissions
       but is not a directory or an executable object code file, it is assumed
       to  be  a  script file, which is	a file of data for an interpreter.  If
       the first two characters	of the script file are (see  exec(2))  expects
       an interpreter path name	to follow.  then attempts to execute the spec-
       ified interpreter 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 permission, or if
       the setuid and/or setgid	bits are set on	the file, the  shell  executes
       an agent	to set up the permissions 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 de-
       vice 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 se-
       lected by number	or by giving the first character or characters of  the
       command.	  A  single command or range of	commands can be	specified.  If
       no editor program is specified as an argument to	the value of  the  pa-
       rameter	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 substitution parameter of	the form can be	 used  to  modify  the
       command before execution.  For example, if is aliased to	typing re-exe-
       cutes 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 following 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 conditions does not occur, the history file
       will not	be trimmed. When the history file is trimmed, the latest  com-
       mands 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  de-
       scriptor	 1  is	the  default output location and the exit status, when
       there are no syntax errors, is zero.  Commands that are preceded	 by  %
       or %% are treated specially in the following ways:

	      1.  Variable  assignment	lists  preceding the command remain in
		  effect when the command completes.
	      2.  I/O redirections are processed after variable	assignments.
	      3.  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 assignment are	expanded with the same
		  rules	as a variable assignment.  This	means that tilde  sub-
		  stitution is performed after the sign	and word splitting and
		  file name generation are not performed.

       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  cur-
		      rent shell environment.  The search path specified by is
		      used to find the directory containing file.  If any  ar-
		      guments arg are given, they become the positional	param-
		      eters.  Otherwise	 the  positional  parameters  are  un-
		      changed.	The exit status	is the exit status of the last
		      command executed.	 It is not necessary 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 substitution.  The
		      option is	used to	set and	 list  tracked	aliases.   The
		      value  of	 a  tracked alias is the full path name	corre-
		      sponding to the given name.   The	 value	of  a  tracked
		      alias  becomes undefined 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	 environments.	 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 levels.

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

       This command can	take either of two forms.
		      In  the  first  form it changes the current directory to
		      arg.  If arg is the directory is changed to the previous
		      directory.   The option (default)	preserves logical nam-
		      ing when treating	symbolic links.	 moves the current di-
		      rectory one path component closer	to the root directory.
		      The option preserves the	physical  path	when  treating
		      symbolic	links.	 changes  the working directory	to the
		      parent directory of the current  directory.   The	 shell
		      parameter	 is  the default arg.  The parameter is	set to
		      the current directory.  The shell	parameter defines  the
		      search  path for the directory containing	arg.  Alterna-
		      tive directory names are separated by a colon If is null
		      or  undefined,  the  default value is the	current	direc-
		      tory.  Note that the current directory is	specified by a
		      null  path  name	which can appear immediately after the
		      equal sign or between the	colon delimiters anywhere else
		      in  the path list.  If arg begins	with a the search path
		      is not used.  Otherwise, each directory in the  path  is
		      searched for arg.	 See also cd(1).

		      The  second  form	 of substitutes	the string new for the
		      string old in the	current	directory name,	and  tries  to
		      change to	this new directory.

		      The command cannot be executed by

       See	      echo(1) for usage	and description.

       Reads the arguments as input to the shell
		      and executes the resulting command(s).

       Parameter assignments remain in effect after the	command	completes.
		      If  arg is given,	the command specified by the arguments
		      is executed in place of this shell  without  creating  a
		      new  process.  Input/output arguments can	appear and af-
		      fect the current process.	 If no	arguments  are	given,
		      the effect of this command is to modify file descriptors
		      as prescribed by the input/output	redirection list.   In
		      this  case,  any	file descriptor	numbers	greater	than 2
		      opened with this mechanism are closed when invoking  an-
		      other program.

       Causes the shell	to exit	with the exit status specified by
		      n.  If n is omitted, the exit status is that of the last
		      command executed.	 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 automatic export to the environment
		      of subsequently executed commands.

       In the first form, a range of commands from
		      first  to	 last is selected from the last	commands typed
		      at the terminal.	The arguments first and	 last  can  be
		      specified	as a number or string.	A given	string is used
		      to locate	the most recent	command.  A negative number is
		      used  to	offset the current command number.  The	option
		      causes the commands to be	 listed	 on  standard  output.
		      Otherwise, the editor program ename is invoked on	a file
		      containing these keyboard	commands.   If	ename  is  not
		      supplied,	the value of the parameter (default is used as
		      the editor.  Once	editing	has ended,  the	 commands  (if
		      any) are executed.  If last is omitted, only the command
		      specified	by first is used.  If first is not  specified,
		      the  default is the previous command for editing and -16
		      for listing.  The	option reverses	the order of the  com-
		      mands  and  the  option  suppresses command numbers when
		      listing.	In the latter, the command is re-executed  af-
		      ter the substitution is performed.

       Brings each    job  into	 the foreground	in the order specified.	 If no
		      job is specified,	the current job	is  brought  into  the
		      foreground.  See for a description of the	format of job.

       Checks	      arg  for	legal  options.	  If arg is omitted, the posi-
		      tional parameters	are used.  An option  argument	begins
		      with a or	a An option not	beginning with or or the argu-
		      ment ends	the options.  optstring	contains  the  letters
		      that  getopts  recognizes.  If a letter is followed by a
		      that option is expected to have an  argument.   The  op-
		      tions can	be separated from the argument by blanks.

		      places  the  next	option letter it finds inside variable
		      name each	time it	is invoked with	a  preceding  it  when
		      arg begins with a	The index of the next arg is stored in
		      The option argument, if any, gets	stored in

		      A	leading	in optstring causes to store the letter	of  an
		      invalid  option in and to	set name to for	an unknown op-
		      tion and to when a required option is  missing.	Other-
		      wise,  prints an error message.  The exit	status is non-
		      zero  when  there	 are  no  more	options.    See	  also
		      getopts(1).

       Lists information about each given job; or all active jobs if
		      job  is  omitted.	 The option lists process ids in addi-
		      tion to the normal information.  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 description of	the format of job.

       Sends either the
		      TERM  (terminate)	 signal	or the specified signal	to the
		      specified	jobs or	processes.  Signals are	 given	either
		      by  number  or  name (as given in	signal(5), stripped of
		      the prefix The signal names are listed by	No default ex-
		      ists; merely typing does not affect the current job.  If
		      the signal being sent is (terminate)  or	(hangup),  the
		      job or process is	sent a (continue) signal when stopped.
		      The process argument can be either a process ID or  job.
		      If  the  first  argument to is a negative	integer, it is
		      interpreted as a sig  argument  and  not	as  a  process
		      group.  See also kill(1).

       Each	      arg is a separate	to be evaluated.  See above, for a de-
		      scription	of arithmetic expression evaluation.  The exit
		      status  is 0 if the value	of the last expression is non-
		      zero, and	1 otherwise.

       Equivalent to  ....

       The shell output	mechanism.
		      With no options or with  option  or  the	arguments  are
		      printed on standard output as described by echo(1).  Raw
		      mode, or ignores the escape conventions  of  echo.   The
		      option prints all	subsequent arguments and options other
		      than The option causes the arguments to be written  onto
		      the pipe of the process spawned with instead of standard
		      output.  The option causes the arguments to  be  written
		      onto  the	 history file instead of standard output.  The
		      option can be used to specify a one-digit	file  descrip-
		      tor  unit	 number	n on which the output is to be placed.
		      The default is 1.	 If the	option is  used,  no  new-line
		      character	is added to the	output.

       With no arguments prints	the current working directory
		      (equivalent  to The option (default) preserves the logi-
		      cal meaning of the current directory and	preserves  the
		      physical	meaning	 of  the  current directory if it is a
		      symbolic link.  See the special command, cd(1),  ln(1)),
		      and pwd(1).

       The shell input mechanism.
		      One  line	 is  read  and	broken up into words using the
		      characters in as separators.  In raw mode, at the	end of
		      a	 line  does  not signify line continuation.  The first
		      word is assigned to the first name, the second  word  to
		      the  second name,	etc., with remaining 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  command  in  the history file.  The option	can be
		      used to specify a	one-digit file descriptor unit to read
		      from.   The  file	descriptor can be opened with the spe-
		      cial command.  The default value of  n  is  If  name  is
		      omitted,	is  used as the	default	name.  The return code
		      is unless	an end-of-file is encountered.	An end-of-file
		      with  the	option causes cleanup for this process so that
		      another process can be spawned.  If the  first  argument
		      contains	a the remainder	of this	word is	used as	a when
		      the shell	is interactive.	 If the	given file  descriptor
		      is open for writing and is a terminal device, the	prompt
		      is placed	on this	unit.  Otherwise the prompt is	issued
		      on file descriptor 2.  The return	code is	unless an end-
		      of-file is encountered.  See also	read(1).

       The given      names are	marked read-only and  these  names  cannot  be
		      changed by subsequent assignment.

       Causes a	shell to  return to the	invoking script	with the return	status
		      specified	by n.  If n is omitted,	the return  status  is
		      that  of the last	command	executed.  Only	the low	8 bits
		      of n are passed back to the caller.  If is invoked while
		      not  in  a  or  executing	a script by the	(dot) built-in
		      command, it has the same effect as an command.

       The following options are used for this command:
			   Array assignment.
				   Unset the variable name and	assign	values
				   sequentially	 from  the  list  arg.	 If is
				   used, the variable name is not unset	first.
			   All subsequent defined parameters are automatically
			   exported.
			   If  the  shell  is non-interactive and if a command
			   fails, execute the
				   trap, if set, and exit  immediately.	  This
				   mode	is disabled while reading profiles.
			   Disables file name generation.
			   Each	command	whose name is an
				   becomes  a tracked alias when first encoun-
				   tered.
			   All parameter assignment arguments
				   (not	just those that	 precede  the  command
				   name)  are  placed in the environment for a
				   command.
			   Background jobs are run in a	separate process group
				   and a line is printed upon completion.  The
				   exit	 status	of background jobs is reported
				   in a	completion message.   This  option  is
				   turned  on  automatically  for  interactive
				   shells.
			   Read	commands and check them	for syntax errors, but
			   do not execute them.
				   The	 option	 is  ignored  for  interactive
				   shells.
			   The	   argument takes any of several option	names,
				   but	only  one option can be	specified with
				   each	option.	 If none is supplied, the cur-
				   rent	 option	settings are printed.  The ar-
				   gument option names follow:

				   Same	as
				   All background jobs are run at a lower pri-
				   ority.
				   Same	as
				   Activates an	     style  in-line editor for
						     command entry.
				   Activates a	     style in-line editor  for
						     command entry.
				   The shell does not exit on end-of-file.
						     The command must be used.
				   Same	as
				   All	directory  names  resulting  from file
				   name	generation have	a trailing
						     appended.
				   Same	as
				   Prevents redirection
						     from truncating  existing
						     files.  Requires to trun-
						     cate a file  when	turned
						     on.
				   Same	as
				   Same	as
				   Do not save function	definitions in history
				   file.
				   Same	as
				   Same	as
				   Same	as
				   Same	as
				   Activates the insert	mode of	a
						     style in-line editor  un-
						     til you press the ESC key
						     which puts	 you  in  move
						     mode.  A return sends the
						     line.
				   Each	character is processed as it is	 typed
				   in
						     mode.
				   Same	as

			   Disables processing of the
				   file	and uses the file instead of the file.
				   This	mode is	on whenever the	effective  uid
				   (gid)  is  not equal	to the real uid	(gid).
				   Turning this	off causes the	effective  uid
				   and gid to be set to	the real uid and gid.
			   Sort	the positional parameters.
			   Exit	after reading and executing one	command.
			   Treat  unset	parameters as an error when substitut-
			   ing.
			   Print shell input lines as they are read.
			   Print commands and their arguments as they are exe-
			   cuted.
			   Turns off
				   and	options	 and stops examining arguments
				   for options.
			   Do not change any of	the options; useful in setting
				   to a	value beginning	with If	 no  arguments
				   follow  this	option,	the positional parame-
				   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 current set of options can be	 exam-
		      ined by using

		      Unless is	specified, the remaining arg arguments are po-
		      sitional parameters and are  assigned  consecutively  to
		      ....   If	 neither  arguments nor	options	are given, the
		      values of	all names are printed on the standard output.

       The positional parameters from
		      ...  are renamed default n is 1.	The parameter n	can be
		      any  arithmetic expression that evaluates	to a non-nega-
		      tive number less than or equal to

       Evaluate	conditional expression
		      expr.  See  test(1)  for	usage  and  description.   The
		      arithmetic  comparison  operators	 are not restricted to
		      integers.	 They allow any	arithmetic  expression.	  Four
		      additional primitive expressions are allowed:

			   True	if	       file is a symbolic 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 number as	file2.

       Print the accumulated user and system times for
		      the shell	and for	processes run from the shell.

       arg	      is a command read	and executed when the  shell  receives
		      signal(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 number or name of the signal.  Trap
		      commands are executed in signal number order.   Any  at-
		      tempt  to	 set  a	trap on	a signal that was ignored upon
		      entering the current shell has no	 effect.   If  arg  is
		      omitted or is all	traps for sig are reset	to their orig-
		      inal values.  If arg is the null string, this signal  is
		      ignored by the shell and by the commands it invokes.  If
		      sig is arg is executed after each	command.   If  sig  is
		      arg  is  executed	whenever a command has a non-zero exit
		      code.  If	sig is or and the statement is executed	inside
		      the  body	of a function, the command arg is executed af-
		      ter the function completes.  If sig is or	for a set out-
		      side  any	 function, the command arg is executed on exit
		      from the shell.  The command with	no arguments prints  a
		      list of commands associated with each signal number.

       Parameter assignments remain in effect after the	command	completes.
		      When  invoked  inside  a function, a new instance	of the
		      parameter	name is	created.  The parameter	value and type
		      are restored when	the function completes.	 The following
		      list of attributes can be	specified:
			   Left	justify	and remove leading blanks from
				  value.  If n is  non-zero,  it  defines  the
				  width	of the field.  Otherwise, it is	deter-
				  mined	by the width of	the value of first as-
				  signment.   When  the	 name is assigned, the
				  value	is filled on the right with blanks  or
				  truncated,  if  necessary,  to  fit into the
				  field.  Leading zeros	are removed if the op-
				  tion is also set.  The option	is turned off.
			   Right justify and fill with leading blanks.
				  If  n	 is  non-zero, it defines the width of
				  the field.  Otherwise, it is	determined  by
				  the  width of	the value of first assignment.
				  The field  is	 left-filled  with  blanks  or
				  truncated  from  the end if the parameter is
				  reassigned.  The option is turned off.
			   Right justify and fill with leading zeros
				  if the first non-blank character is a	 digit
				  and  the  option  has	not been set.  If n is
				  non-zero, it defines the width of the	field.
				  Otherwise,  it is determined by the width of
				  the value of first assignment.
			   Cause  name to refer	to function names rather  than
				  parameter names.  No assignments can be made
				  to the name  declared	 with  the  statement.
				  The  only  other  valid  options  are	(which
				  turns	on execution tracing  for  this	 func-
				  tion)	 and (which allows the function	to re-
				  main in effect across	shell procedures  exe-
				  cuted	in the same process environment).
			   Parameter is	an integer.
				  This	makes arithmetic faster.  If n is non-
				  zero,	it defines the output arithmetic base;
				  otherwise  the  first	 assignment determines
				  the output base.
			   Convert all uppercase characters to lowercase.
				  The uppercase	option is turned off.
			   Any given
				  name is marked "read	only"  and  cannot  be
				  changed by subsequent	assignment.
			   Tag the named parameters.
				  Tags	are user definable and have no special
				  meaning to the shell.
			   Convert all lowercase characters to uppercase char-
			   acters.
				  The lowercase	option is turned off.
			   Mark	any given
				  name for automatic export to the environment
				  of subsequently executed commands.

				  Using	instead	of causes these	options	to  be
				  turned  off.	If no name arguments are given
				  but options are specified, a list  of	 names
				  (and	optionally  the	values)	of the parame-
				  ters that have these options set is printed.
				  Using	 instead  of  retains the values to be
				  printed.  If neither names nor  options  are
				  given,  the  names and attributes of all pa-
				  rameters are printed.

       Set or display a	resource limit.
		      The limit	for a specified	resource is set	when limit  is
		      specified.   The	value  of limit	can be a number	in the
		      unit specified with each resource, or the	keyword

		      The and flags specify whether the	hard limit is  set  or
		      the  soft	 limit	is set for the given resource.	A hard
		      limit cannot be increased	once it	is set.	 A soft	 limit
		      can  be  increased up to the hard	limit.	If neither nor
		      is specified, the	limit applies to both.

		      The current resource limit  is  printed  when  limit  is
		      omitted.	In this	case, the soft limit is	printed	unless
		      is specified.  When more than one	resource is specified,
		      the limit	name and unit are printed before the value.

		      If no option is given, is	assumed.

			   List	all of the current resource limits.
			   List	 or  set  the number of	512-byte blocks	in the
			   size	of core	dumps.
			   List	or set the number of kilobytes in the size  of
			   the data area.
			   List	 or set	the number of 512-byte blocks in files
			   written by child
				  processes (files of any size can be read).
			   List	or set the number of kilobytes in the size  of
			   the stack area.
			   List	 or  set  the  number of seconds to be used by
			   each	process.

       The user	file-creation mask is set to
		      mask (see	umask(2)).  mask can either be an octal	number
		      or a symbolic value as described in chmod(1).  If	a sym-
		      bolic value is given, the	new umask value	is the comple-
		      ment of the result of applying mask to the complement of
		      the previous umask value.	 If mask is omitted, the  cur-
		      rent value of the	mask is	printed.  See also umask(1).

       The	      parameters  given	 by the	list of	names are removed from
		      the alias	list.

       The parameters given by the list	of
		      names are	unassigned; that  is,  their  values  and  at-
		      tributes	are erased.  Read-only variables cannot	be un-
		      set.  If the option is  set,  names  refer  to  function
		      names.  Unsetting	and removes their special meaning even
		      if they are subsequently assigned	to.

       Wait for	the specified
		      job to terminate or stop,	and report its	status.	  This
		      status  becomes the return code for the command.	If job
		      is not given, waits for all currently active child  pro-
		      cesses to	terminate or stop.  The	termination status re-
		      turned is	that of	the last process.  See for a  descrip-
		      tion of the format of a job.

       For each	      name,  indicate how it would be interpreted if used as a
		      command name.  The option	produces a  more  verbose  re-
		      port.   The  option  does	a path search for name even if
		      name is an alias,	a function, or a reserved word.
       If the shell is invoked by (see exec(2)), and the  first	 character  of
       argument	 zero is the shell is assumed to be a login shell and commands
       are read	first from The expression is then evaluated and	an attempt  to
       open  the  resulting  filename is made.	If the file is opened success-
       fully, the file is read.	 Next, commands	are read from the  file	 named
       by  performing  parameter  substitution on the value of the environment
       parameter if the	file exists.  If the option is not present and arg is,
       a  path	search	is performed on	the first arg to determine the name of
       the script to execute.  When running with arg, the script arg must have
       read  permission	 and any setuid	and getgid settings are	ignored.  Com-
       mands are then read as described	below.	The following options are  in-
       terpreted by the	shell when it is invoked:

	      If the	     option is present,	commands are read from string.
	      If the	     option is present or if no	arguments remain, com-
			     mands are read from the  standard	input.	 Shell
			     output,  except  for  the	output	of some	of the
			     listed above, is written to file descriptor 2.
	      If the	     option is present or if the shell input and  out-
			     put  are attached to a terminal, the shell	is in-
			     teractive.	 In this case SIGTERM is  ignored  (so
			     that does not kill	an interactive shell) and SIG-
			     INT +1 is caught and ignored (so that  is	inter-
			     ruptible).	  In  all cases, SIGQUIT is ignored by
			     the shell.	 (See signal(5).)
	      If the	     option is present,	 the  shell  is	 a  restricted
			     shell.

       The  remaining  options	and  arguments are described under the command
       above.  is used to set up login names and execution environments	 where
       capabilities are	more controlled	than those of the standard shell.  The
       actions of are identical	to those of except that	the following are for-
       bidden:

	      o	 Changing directory (see cd(1))
	      o	 Setting the value of or
	      o	 Specifying path or command names containing
	      o	 Redirecting output and

       The  restrictions  above	 are  enforced	after the and files are	inter-
       preted.

       When a command to be executed is	found to be a shell procedure, invokes
       to  execute  it.	  Thus,	the end-user is	provided with shell procedures
       accessible to the full power of the standard  shell,  while  being  re-
       stricted	 to  a limited menu of commands.  This scheme assumes that the
       end-user	does not have write and	execute	permissions in the same	direc-
       tory.

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

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

       The system administrator	often sets up a	directory of commands (usually
       that can	be safely invoked by HP-UX systems provide a restricted	editor
       (see ed(1)), suitable for restricted users.

COMMAND-LINE EDITING
   In-line Editing Options
       Normally, each command line typed at a terminal device is followed by a
       new-line	(carriage-return or line-feed).	 If either the	or  option  is
       set, the	user can edit the command line.	 An editing option is automat-
       ically 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 terminal accept Return as
       carriage	return without line feed and that a space character must over-
       write  the  current character on	the screen.  ADM terminal users	should
       set the ``space/advance'' switch	to ``space''.  Hewlett-Packard	termi-
       nal users should	set the	straps to ``bcGHxZ etX''.

       The  editing modes enable the user to look through a window at the cur-
       rent line.  The default window width is 80, unless the value of is  de-
       fined.	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 boundaries, the
       window is centered about	the cursor.

       The  search  commands  in  each edit mode provide 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 handling of To edit, the user moves the cursor to the point need-
       ing correction and inserts or deletes characters	or words.  All editing
       commands	 are control characters	or escape sequences.  The notation for
       control characters is circumflex	(^) followed by	 the  character.   For
       example,	 is the	notation for This is entered by	pressing the key while
       holding down the	Ctrl (control) key.  The Shift key is  pressed.	  (The
       notation	indicates the DEL (delete) key.)

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

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

       Move cursor forward (right) one character.
       Move cursor forward one word.
		      (The  editor's  idea of a	word is	a string of characters
		      consisting of only letters, digits and underscores.)
       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 current line.
       Move cursor backward to character
		      char on current line.
       Interchange the cursor and mark.
       erase	      (User defined erase character as defined by the  stty(1)
		      command, usually or Delete previous character.
       Delete current character.
       eof	      End-of-file  character, normally terminates the shell if
		      the current line is null.
       Delete current word.
       (Meta-backspace)	Delete previous	word.
       Delete previous word.
       (Meta-DEL) Delete previous word (if interrupt character is
		      (DEL, the	default) this command does not work).
       Transpose current character with	next character in
		      mode.  Transpose two previous characters in mode.
       Capitalize current character.
       Capitalize current word.
       Change the current word to lowercase.
       Delete from the cursor to the end of the	line.
		      If preceded by a numerical parameter whose value is less
		      that  the	current	cursor position, delete	from the given
		      position up to the cursor.  If preceded by  a  numerical
		      parameter	whose value is greater than the	current	cursor
		      position,	from the cursor	up to the given	position.
       Kill from the cursor to the mark.
       Push the	region from the	cursor to the mark on the stack.
       kill	      (User-defined kill character, as defined by the  stty(1)
		      command,	usually	 or  Kill the entire current line.  If
		      two kill characters are entered in succession, all  sub-
		      sequent  consecutive  kill  characters cause a line feed
		      (useful when using paper terminals).
       Restore last item removed from line
		      (yank item back to the line).
       Line feed and print current line.
       (Null character)	Set mark.
       M-space	      (Meta space) Set mark.
       (New line)  Execute the current line.
       (Return)	 Execute the current line.
       Fetch previous command.
		      Each time	is entered, the	next previous command  in  the
		      history list is accessed.
       Fetch next command.
		      Each  time  is  entered  the next	command	in the history
		      list is accessed.
       Fetch the least recent (oldest) history line.
       Fetch the most recent (youngest)	history	line.
       Reverse search history for a previous command line containing
		      string.  If a parameter of zero is given,	the search  is
		      forward.	 string	is terminated by a Return or New-Line.
		      If string	is preceded by a the matched line  must	 begin
		      with  string.   If  string  is omitted, the next command
		      line containing the most recent string is	accessed.   In
		      this  case a parameter of	zero reverses the direction of
		      the search.
       Operate - Execute the current line
		      and fetch	from the history file the next	line  relative
		      to current line.
       M-digits	      (Escape)	Define numeric parameter, the digits are taken
		      as a parameter to	the next command.  The	commands  that
		      accept a parameter are erase, and
       M-letter	      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 letter must
		      not be one of the	above meta-functions.
       The last	word of	the previous command is	inserted on the	line.
		      If preceded by a numeric parameter, the  value  of  this
		      parameter	 determines  which  word to insert rather than
		      the last word.
       Same as
       Attempt file-name generation on the current word.
       M-ESC	      File-name	completion.  Replaces the  current  word  with
		      the  longest common prefix of all	filenames matching the
		      current word with	an asterisk appended.  If the match is
		      unique,  a  is appended if the file is a directory and a
		      space is appended	if the file is not a directory.
       List files matching current word	pattern
		      as if an asterisk	were appended.
       Multiply	parameter of next command by 4.
       Escape next character.
		      Editing characters, the user's erase, kill and interrupt
		      (normally	characters can be entered in a command line or
		      in a search string if preceded by	a The removes the next
		      character's editing features (if any).
       Display version of the shell.
       Insert a	      at  the  beginning  of  the  line	 and execute it.  This
		      causes a comment to be inserted in the history file.

   Vi Editing Mode
       There are two typing modes.  Entering a command 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 characters or	words.
       Most control commands accept an optional	repeat count prior to the com-
       mand.

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

       Setting the option always disables canonical processing on  the	termi-
       nal.   This mode	is implicit for	systems	that do	not support two	alter-
       nate end-of-line	delimiters, and	can be helpful for certain terminals.

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

       erase	      Delete previous character.   (erase  is  a  user-defined
		      erase character, as defined by the stty(1) command, usu-
		      ally or
       Delete the previous blank separated word.
       Terminate the shell.
       Escape next character.
		      Editing characters, erase	or kill	characters can be  en-
		      tered  in	 a  command line or in a search	string if pre-
		      ceded by a removes the next character's editing features
		      (if any).
       Escape the next
		      erase or kill character.

   Motion Edit Commands
       These commands move the cursor.	The designation	[count]	causes a repe-
       tition of the command the cited number of times.

	      Cursor forward (right) one character.
	      Cursor forward one alphanumeric word.
	      Cursor to	the beginning of the next word that follows a blank.
	      Cursor to	end of word.
	      Cursor to	end of the current blank-delimited word.
	      Cursor backward (left) one character.
	      Cursor backward one word.
	      Cursor to	preceding blank	separated word.
	      Cursor to	column
			     count.  Default is	1.
	      Find the next character
			     c in the current line.
	      Find the previous	character
			     c in the current line.
	      Equivalent to  followed by
	      Equivalent to  followed by
	      Repeats the last single character	find command,
			     or
	      Reverses the last	single character find command.
	      Cursor to	start of line.
	      Cursor to	first nonblank character in line.
	      Cursor to	end of line.
   Search Edit Commands
       These commands access your command history.
	      Fetch previous command.
				Each time is pressed, the next earlier command
				in the history list is accessed.
	      Equivalent to
	      Fetch next command.
				Each  time  is entered,	the next later command
				in the history list is accessed.
	      Equivalent to
	      The command number
				count is fetched.  The default	is  the	 first
				command	in the history list.
	      Search  backward through history for a previous command contain-
	      ing
				string.	 string	is terminated by a "Return" or
				"New-line".   If  string  is preceded by a the
				matched	 line  must  begin  with  string.   If
				string is null,	the previous string is used.
	      Same as		but search in the forward direction.
	      Search for next match of the last	pattern	to
				or commands.
	      Search for next match of the last	pattern	to
				or  but	 in reverse direction.	Search history
				for the	string entered by  the	previous  com-
				mand.
   Text	Modification Edit Commands
       These commands modify the line.
	      Enter input mode and enter text after the	current	character.
	      Append text to the end of	the line.
				Equivalent to
	      Move cursor to the character position specified by
				motion,	 deleting  all	characters between the
				original cursor	position and new position, and
				enter  input  mode.   If  motion is the	entire
				line is	deleted	and input mode entered.
	      Delete the current character through the end of line  and	 enter
	      input mode.
				Equivalent to
	      Equivalent to
	      Delete the current character through end of line.
				Equivalent to
	      Move cursor to the character position specified by
				motion,	 deleting  all	characters between the
				original cursor	position and new position.  If
				motion is the entire line is deleted.
	      Enter input mode and insert text before the current character.
	      Insert text before the beginning of the line.
				Equivalent to the two-character	sequence
	      Place the	previous text modification before the cursor.
	      Place the	previous text modification after the cursor.
	      Enter input mode and replace characters on the screen
				with characters	you type in overlay fashion.
	      Replace the current character with
				c.
	      Delete current character.
	      Delete preceding character.
	      Repeat the previous text modification command.
	      Invert the case of the current character and advance the cursor.
	      Causes the	count  word  of	the previous command to	be ap-
				pended at  the	current	 cursor	 location  and
				places	the editor in input mode at the	end of
				the appended text.  The	last word is  used  if
				count is omitted.
	      Appends an	to  the	 current  word	and attempts file name
				generation.  If	no match is  found,  the  bell
				rings.	 If  a match is	found, the word	is re-
				placed by the matching string and the  command
				places the editor in input mode.
	      ESC
	      Attempt file name	completion on the current word.
				Replaces  the  current	word  with the longest
				common prefix of all  filenames	 matching  the
				current	 word  with  an	asterisk appended.  If
				the match is unique, a is appended if the file
				is  a directory	and a space is appended	if the
				file is	not a directory.
   Other Edit Commands
	      Yank current character through character that
				motion would move the cursor to	and puts  them
				into  the  delete buffer.  The text and	cursor
				are unchanged.
	      Yanks from current position to end of line.
				Equivalent to
	      Undo the last text modifying command.
	      Undo all the text	modifying commands performed on	the line.
	      [count]v		Returns	the command in the input  buffer.   If
				count is omitted, the current line is used.
	      Line feed	and print current line.
				Has effect only	in control mode.
	      (New line)  Execute the current line, regardless of mode.
	      (Return)	Execute	the current line, regardless of	mode.
	      Equivalent to	followed  by Return.  Sends the	line after in-
				serting	a in front of the line and after  each
				new-line.   Useful  for	 inserting the current
				command	line in	the history list without  exe-
				cuting it.
	      List  the	 filenames  that match the current word	if an asterisk
	      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-
				cessing.

EXTERNAL INFLUENCES
   Environment Variables
       LC_COLLATE determines the collating sequence used in evaluating pattern
       matching	notation for file name generation.

       LC_CTYPE	 determines  the  classification of characters as letters, and
       the characters matched by character class expressions in	pattern	match-
       ing notation.

       If LC_COLLATE or	LC_CTYPE is not	specified in the environment or	is set
       to the empty string, the	value of LANG is used as a  default  for  each
       unspecified  or	empty variable.	 If LANG is not	specified or is	set to
       the empty string, a default of "C" (see lang(5))	 is  used  instead  of
       LANG.   If  any	internationalization variable contains an invalid set-
       ting, behaves as	if all internationalization variables are set to  "C".
       See environ(5).

       KSH_QUOTEMC switches  the  processing  of  quoted  metacharacters in ""
       constructs.  If is defined in the environment, then any part of pattern
       can  be	quoted to cause	it to be matched as a string.  This usage fol-
       lows the	conventions of dtksh(1).  If KSH_QUOTEMC is not	defined	in the
       environment, then processing follows the	traditional Korn shell conven-
       tions.

   International Code Set Support
       Single-byte character code sets are supported.

RETURN VALUE
       Errors detected by the shell, such as syntax errors, cause the shell to
       return  a  non-zero exit	status.	 Otherwise, the	shell returns the exit
       status of the last command executed (also see the command  above).   If
       the  shell is being used	non-interactively, execution of	the shell file
       is abandoned.  Runtime errors detected by the  shell  are  reported  by
       printing	 the command or	function name and the error condition.	If the
       line number on which the	error occurred is greater than one,  the  line
       number is also printed in brackets after	the command or function	name.

WARNINGS
       File  descriptors  10 and 54 through 60 are used	internally by the Korn
       Shell.  Applications using these	and forking a subshell should not  de-
       pend upon them surviving	in the subshell	or its descendants.

       If  a  command which is a is executed, and a command with the same name
       is installed in a directory in the search  path	before	the  directory
       where  the  original command was	found, the shell continues to load and
       execute the original command.  Use the option of	the command to correct
       this situation.

       If  you	move  the  current directory or	one above it, may not give the
       correct response.  Use the command with a full  path  name  to  correct
       this situation.

       Some  very  old shell scripts contain a caret as	a synonym for the pipe
       character Note however, does not	recognize the caret as a pipe  charac-
       ter.

       If  a  command  is piped	into a shell command, all variables set	in the
       shell command are lost when the command completes.

       Using the built-in command within a compound command causes the	entire
       command to disappear from the history file.

       The  built-in  command .	file reads the entire file before any commands
       are executed.  Therefore, and commands in the file do not apply to  any
       functions defined in the	file.

       Traps  are  not	processed  while the shell is waiting for a foreground
       job.  Thus, a trap on is	not executed until the foreground  job	termi-
       nates.

       The  built-in  command does not handle arrays properly.	Only the first
       element of an array is exported to the environment.

       Background processes started from a non-interactive shell cannot	be ac-
       cessed by using job control commands.

       In  an  international  environment, character ordering is determined by
       the setting of LC_COLLATE, rather than by the binary ordering of	 char-
       acter  values  in  the machine collating	sequence.  This	brings with it
       certain attendant dangers, particularly when using range	expressions in
       file name generation patterns.  For example, the	command,

       might  be  expected  to match all file names beginning with a lowercase
       alphabetic character.  However, if dictionary ordering is specified  by
       LC_COLLATE,  it would also match	file names beginning with an uppercase
       character (as well as those beginning  with  accented  letters).	  Con-
       versely,	 it  would  fail  to match letters collated after in languages
       such as Danish or Norwegian.

       The correct (and	safe) way to match specific character  classes	in  an
       international environment is to use a pattern of	the form:

       This uses LC_CTYPE to determine character classes and works predictably
       for all supported languages and codesets.  For shell  scripts  produced
       on  non-internationalized  systems  (or	without	 consideration for the
       above dangers), it is recommended that they be executed	in  a  non-NLS
       environment.   This requires that LANG, LC_COLLATE, etc., be set	to "C"
       or not set at all.

       Be aware	that the value of the variable in the user's  environment  af-
       fects the behavior of scripts.

       implements  command  substitution by creating a pipe between itself and
       the command.  If	the root file system is	full, the substituted  command
       cannot  write  to  the  pipe.  As a result, the shell receives no input
       from the	command, and the result	of the substitution is null.  In  par-
       ticular,	 using command substitution for	variable assignment under such
       circumstances results in	the variable being silently  assigned  a  NULL
       value.

AUTHOR
       was developed by	AT&T.

FILES
       to find home directories
       read to set up system environment
       security	profile
       read to set up user's custom environment
       for here-documents

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),  signal(5),  umask(2), ulimit(2), wait(2), rand(3C),
       a.out(4), profile(4), environ(5), lang(5), regexp(5).

									ksh(1)

NAME | SYNOPSIS | DESCRIPTION | COMMAND-LINE EDITING | EXTERNAL INFLUENCES | RETURN VALUE | WARNINGS | AUTHOR | FILES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ksh&sektion=1&manpath=HP-UX+11.22>

home | help