fortunes data file for Korn Shell 93
Version: 1.2
Provided by:
Mt Xia Inc.
Dana French, President
117 B 5th Avenue North
Franklin, TN 37064
615.556.0456
dfrench@mtxia.com
Specializing in Business Continuity, Disaster Recovery, AIX and HACMP
%
Korn Shell 93 - Command Line Arguments
- Ends option processing
%
Korn Shell 93 - Command Line Arguments
-c cmd execute cmd ( default reads command from file
named in first entry of args via path search)
%
Korn Shell 93 - Command Line Arguments
-D print all double-quoted strings that are preceded
by a $. Such strings are subject to translation
in the current locale
%
Korn Shell 93 - Command Line Arguments
-i set interactive mode (default)
%
Korn Shell 93 - Command Line Arguments
-r set restricted mode
%
Korn Shell 93 - Command Line Arguments
-R filename Generate a cross reference database for
finding variable and command definitions
and references; may not be compiled in
%
Korn Shell 93 - Command Line Arguments
-s read commands from stdin (default)
%
Korn Shell 93 - Startup Files
Login shells run commands and in /etc/profile and then
${HOME}/.profile if they exist. Next, interactive (all)
shells do variable, command and arithmetic substitution
on the value of ${ENV}, and if the result names an
existing file, that file is executed. The errexit
option is ignored for the startup files.
%
Korn Shell 93 - Control Commands
! pipeline
Execute pipeline. If exit status is non-zero, exit
zero. If exit status is zero, exit 1
%
Korn Shell 93 - Control Commands
Case statement - Syntax example
case word in
pattern1) cmdList1;;
pattern1|pattern2...) cmdList2;;
*) cmdList3;;
esac
"word" is normally a variable. The specified patterns
represent Korn shell patterns (not regular expressions).
Filename generation, variable substitution, command
substitution, and quote removal are performed on the
patterns.
The specified lists are one or more unix commands. The
list of unix commands to be executed when the pattern
matches the word is terminated by a double semicolon (;;).
%
Korn Shell 93 - Control Commands
for - Syntax example
for name in wordlist
do
cmdList
done
A "for" loop sequentially assigns each word in the
"wordlist" to the variable specified as "name" and
executes the "cmdList" each time through the loop. The
default "wordlist" is all positional parameters.
Filename generation, variable substitution, command
substitution, and quote removal is performed on the
"wordlist".
%
Korn Shell 93 - File Name Generation ? * []
? represents 1 single character
* represents 0 or more characters
[] represents any SINGLE character from the set of characters
contained between the square brackets. Can also be a range
of characters such as a-z. All upper and lower case letters
could be represented as [A-Za-z].
%
Korn Shell 93 - Definitions
A metacharacter is one of the following characters:
; & ( ) | < > new-line space tab
%
Korn Shell 93 - Definitions
A blank is a tab or a space.
%
Korn Shell 93 - Definitions
A command is 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 utilities. A built-in
command is a command that is carried out by the shell itself without
creating a separate process.
%
Korn Shell 93 - Definitions
A simple-command is a list of variable assignments or a sequence of
blank separated words which may be preceded by a list of variable
assignments. The first word specifies the name of the command to be
executed.
%
Korn Shell 93 - Definitions
A pipeline is a sequence of one or more commands separated by |. The
standard output of each command but the last is connected by a pipe(2)
to the standard input of the next command. Each command, except
possibly the last, 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.
%
Korn Shell 93 - Definitions
A "list" is a sequence of one or more pipelines separated by ;, &, |&, &&,
or | |, and optionally terminated by ;, &, or |&. Of these five
symbols, ;, &, and |& have equal precedence, which is lower than that of
&& and | |. The symbols && and || also have equal precedence. A
semicolon (;) causes sequential execution of the preceding pipeline; an
ampersand (&) causes asynchronous execution of the preceding pipeline
(i.e., the shell does not wait for that pipeline to finish).
%
Korn Shell 93 - Definitions
The symbol |& causes asynchronous execution of the preceding pipeline
with a two-way pipe established to the parent shell; the standard input
and output of the spawned pipeline can be written to and read from by
the parent shell by applying the redirection operators <& and >& with
arg p to commands and by using -p option of the built-in commands read
and print described later.
%
Korn Shell 93 - Definitions
The symbol && ( || ) causes the command list following it to be executed
only if the preceding pipeline returns a zero (non-zero) value. One or
more new-lines may appear in a list instead of a semicolon, to delimit a
command.
%
Korn Shell 93 - Definitions
A command 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-command executed in the command.
%
Korn Shell 93 - Definitions
for vname [ in word ... ]
do
list
done
Each time a for command is executed, vname is set to the next word taken
from the in word list. If "in word ..." is omitted, then the for
command executes the do list once for each positional parameter that is
set starting from 1. Execution ends when there are no more words in the
list.
%
Korn Shell 93 - Definitions
for (( [expr1]; [expr2]; [expr3] ))
do
list
done
The arithmetic expression expr1 is evaluated first The arithmetic
expression expr2 is repeatedly evaluated until it evaluates to zero and
when non-zero, list is executed and the arithmetic expression expr3
evaluated. If any expression is omitted, then it behaves as if it
evaluated to 1.
Example: for (( i=0; i < 255; ++i ))
%
Korn Shell 93 - Definitions
select vname [ in word ... ]
do
list
done
A select command prints on standard error (file descriptor 2) the set of
words, each preceded by a number. If in word ... is omitted, then
the positional parameters starting from 1 are used instead. The PS3
prompt is printed and a line is read from the standard input. If this
line consists of the number of one of the listed words, then the value
of the variable vname is set to the word corresponding to this number.
If this line is empty, the selection list is printed again. Otherwise
the value of the variable vname is set to null. The contents of the
line read from standard input is saved in the variable REPLY. The list
is executed for each selection until a break or end-of-file is
encountered. If the REPLY variable is set to null by the execution of
list, then the selection list is printed before displaying the PS3
prompt for the next selection.
%
Korn Shell 93 - Definitions
case word in
pattern1) cmdList1;;
pattern1|pattern2...) cmdList2;;
*) cmdList3;;
esac
A "case" command executes the list associated with the first pattern that
matches "word". The form of the patterns is the same as that used for
file-name generation. The ";;" operator causes execution of case to
terminate. If ;& is used in place of ;; the next subsequent list, if
any, is executed.
%
Korn Shell 93 - Definitions
if list
then
list
[ elif list
then
list ]
[ else
list ]
fi
The list following "if" is executed and, if it returns a zero exit
status, the list following the first "then" is executed. Otherwise, the
list following "elif" is executed and, if its value is zero, the list
following the next "then" is executed. Failing each successive "elif"
list , the "else" list is executed. If the "if" list has non-zero exit
status and there is no "else" list, the "if" command returns a zero exit
status.
%
Korn Shell 93 - Definitions
while cmdList
do
cmdList
done
A "while" command repeatedly executes a list of commands, if the exit
status of the last command in the list is zero, executes the commands
between the "do" and "done" statements; otherwise the loop terminates.
If no commands between the "do" and "done" statements are executed, then
the while command returns a zero exit status.
%
Korn Shell 93 - Definitions
until cmdList
do
cmdList
done
An "until" command repeatedly executes a list of commands, if the exit
status of the last command in the list is zero, the loop terminates;
otherwise it executes the commands between the "do" and "done"
statements. If no commands between the "do" and "done" statements are
executed, the "until" command returns a zero exit status.
%
Korn Shell 93 - Definitions
((expression ))
The expression is evaluated using the rules for arithmetic evaluation.
If the value of the arithmetic expression is non-zero, the exit status
is 0, otherwise the exit status is 1.
%
Korn Shell 93 - Definitions
(list )
Execute list in a separate environment. Note, that if two adjacent open
parentheses are needed for nesting, a space must be inserted to avoid
evaluation as an arithmetic command.
%
Korn Shell 93 - Definitions
{ list ;}
list is simply executed. Note that unlike the metacharacters ( and ), {
and } are reserved words and must occur at the beginning of a line or
after a ; in order to be recognized.
%
Korn Shell 93 - Definitions
[[ expression ]]
Evaluates expression and returns a zero exit status when expression is
true.
%
Korn Shell 93 - Definitions
function varname { list ;}
varname () { list ;}
Define a function which is referenced by varname. A function whose
varname contains a . is called a discipline function and the portion of
the varname preceding the last . must refer to an existing variable.
The body of the function is the list of commands between { and }. A
function defined with the function varname syntax can also be used as an
argument to the . special built-in command to get the equivalent
behavior as if the varname () syntax were used to define it.
%
Korn Shell 93 - Definitions
time [ pipeline ]
If pipeline is omitted the user and system time for the current shell
and completed child processes is printed on standard error. Otherwise,
pipeline is executed and the elapsed time as well as the user and system
time are printed on standard error.
%
Korn Shell 93 - Definitions
The following reserved words are recognized as reserved only when they
are the first word of a command and are not quoted:
if then else elif fi case esac for while until do done { }
function select time [[ ]] !
%
Korn Shell 93 - Variable Assignments
One or more variable assignments can start a simple command or can be
arguments to the typeset, export, or readonly special built-in commands.
The syntax for an assignment is of the form:
varname =word
varname [word ]=word
No space is permitted between varname and the = or between = and word .
%
Korn Shell 93 - Variable Assignments
varname =(assign_list )
No space is permitted between varname and the =. An assign_list can be
one of the following:
word ... Indexed array assignment
[word ]=word ... Associative array assignment
assignment ... Nested variable assignment
typeset [ options ] assignment ...
Nested variable assignment. Multiple assignments can be specified by
separating each of them with a ;.
%
Korn Shell 93 - Comments
A word beginning with # causes that word and all the following
characters up to a new-line to be ignored.
%
Korn Shell 93 - Aliasing
Defining an alias:
alias word='cmd'
%
Korn Shell 93 - Aliasing
Aliasing is performed when scripts are read, not while they are
executed. Therefore, for an alias to take effect, the alias definition
command has to be executed before the command which references the alias
is read.
%
Korn Shell 93 - Aliasing
The following aliases are compiled into the shell but can be unset or
redefined:
autoload='typeset -fu'
command='command '
fc=hist
float='typeset -E'
functions='typeset -f'
hash='alias -t - -'
history='hist -l'
integer='typeset -i'
nameref='typeset -n'
nohup='nohup '
r='hist -s'
redirect='command exec'
stop='kill -s STOP'
suspend='kill -s STOP $$'
times='{ { time;} 2>&1;}'
type='whence -v'
%
Korn Shell 93 - Tilde Substitution
After alias substitution is performed, each word is checked to see if it
begins with an unquoted ~. For tilde substitution, word also refers to
the word portion of parameter expansion.
If it does, then the word up to a / is checked to see if it matches a
user name in the password database (often the /etc/passwd file). If a
match is found, the ~ and the matched login name are replaced by the
login directory of the matched user. If no match is found, the original
text is left unchanged. A ~ by itself, or in front of a /, is replaced
by $HOME. A ~ followed by a + or - is replaced by the value of $PWD and
$OLDPWD respectively.
%
Korn Shell 93 - Command Substitution
The standard output from a command enclosed in parentheses preceded by a
dollar sign ( $( ) ) or a pair of grave accents ( ` ` ) may be used as
part or all of a word; trailing new-lines are removed. In the second
(obsolete) form, the string between the quotes is processed for special
quoting characters before the command is executed.
The command substitution $( cat file ) can be replaced by the equivalent
but faster $( (list ) will run process list
asynchronously connected to some file in /dev/fd. The name of this file
will become the argument to the command. If the form with > is selected
then writing on this file will provide input for list. If < is used,
then the file passed as an argument will contain the output of the list
process. For example,
paste <(cut -f1 file1) <(cut -f3 file2) | tee >(process1) >(process2)
cuts fields 1 and 3 from the files file1 and file2 respectively, pastes
the results together, and sends it to the processes process1 and
process2, as well as putting it onto the standard output. Note that the
file, which is passed as an argument to the command, is a UNIX pipe(2)
so programs that expect to lseek(2) on the file will not work.
%
Korn Shell 93 - Parameter Expansion.
A parameter is a variable, one or more digits, or any of the characters
*, @, #, ?, -, $, and !\ . A variable is denoted by a vname. To create
a variable whose vname contains a ., a variable whose vname consists of
everything before the last . must already exist. A variable has a
value and zero or more attributes. Variables can be assigned values and
attributes by using the typeset special built-in command. The
attributes supported by the shell are described later with the typeset
special built-in command. Exported variables pass values and attributes
to the environment.
%
Korn Shell 93 - Parameter Expansion.
The shell supports both indexed and associative arrays. An element of
an array variable is referenced by a subscript. A subscript for an
indexed array is denoted by an arithmeticexpression between a [ and a ].
To assign values to an indexed array, use set -A vname value ... . The
value of all subscripts must be in the range of 0 through 4095. Indexed
arrays need not be declared. Any reference to a variable with a valid
subscript is legal and an array will be created if necessary.
%
Korn Shell 93 - Parameter Expansion.
An associative array is created with the -A option to typeset. A
subscript for an associative array is denoted by a string enclosed
between [ and ].
%
Korn Shell 93 - Parameter Expansion.
Referencing any array without a subscript is equivalent to referencing
the array with subscript 0.
The value of a variable may be assigned by writing:
vname=value
or
vname[subscript]=value
Note that no space is allowed before or after the =.
%
Korn Shell 93 - Parameter Expansion.
A nameref is a variable that is a reference to another variable. A
nameref is created with the -n attribute of typeset. The value of the
variable at the time of the typeset command becomes the variable that
will be referenced whenever the nameref variable is used. The name of a
nameref cannot contain a .. When a variable or function name contains a
., and the portion of the name up to the first . matches the name of a
nameref, the variable referred to is obtained by replacing the nameref
portion with the name of the variable referenced by the nameref. A
nameref provides a convenient way to refer to the variable inside a
function whose name is passed as an argument to a function. For
example, if the name of a variable is passed as the first argument to a
function, the command
typeset -n var=$1
inside the function causes references and assignments to var to be
references and assignments to the variable whose name has been passed to
the function.
%
Korn Shell 93 - Parameter Expansion.
If either of the floating point attributes, -E, or -F, or the integer
attribute, -i, is set for vname, then the value is subject to arithmetic
evaluation.
%
Korn Shell 93 - Parameter Expansion.
Positional parameters, parameters denoted by a number, may be assigned
values with the set special built-in command. Parameter $0 is set from
argument zero when the shell is invoked.
%
Korn Shell 93 - Variables
${parameter }
The shell reads all the characters from ${ to the matching } as part of
the same word even if it contains braces or metacharacters. The value,
if any, of the parameter is substituted. The braces are required when
parameter is followed by a letter, digit, or underscore that is not to
be interpreted as part of its name, when the variable name contains a .,
or when a variable is subscripted. If parameter is one or more digits
then it is a positional parameter. A positional parameter of more than
one digit must be enclosed in braces. If parameter is * or @, then all
the positional parameters, starting with $1, are substituted (separated
by a field separator character). If an array vname with subscript * or
@ is used, then the value for each of the elements is substituted,
separated by the first character of the value of IFS.
%
Korn Shell 93 - Variables
${#parameter }
If parameter is * or @, the number of positional parameters is
substituted. Otherwise, the length of the value of the parameter is
substituted.
%
Korn Shell 93 - Variables
${#vname[*]}
${#vname[@]}
The number of elements in the array vname is substituted.
%
Korn Shell 93 - Variables
${!vname }
Expands to the name of the variable referred to by vname. This will be
vname except when vname is a name reference.
%
Korn Shell 93 - Variables
${!vname [subscript ]}
Expands to name of the subscript unless subscript is * or @. When
subscript is *, the list of array subscripts for vname is generated.
For a variable that is not an array, the value is 0 if the variable is
set. Otherwise it is null. When subscript is @, same as above, except
that when used in double quotes, each array subscript yields a separate
argument.
%
Korn Shell 93 - Variables
${!prefix *}
Expands to the names of the variables whose names begin with prefix.
%
Korn Shell 93 - Variable testing
${parameter :-word }
If parameter is set and is non-null then substitute its value; otherwise
substitute word. word is not evaluated unless it is to be used as the
substituted string. If the colon ( :) is omitted, the shell only checks
whether parameter is set or not.
%
Korn Shell 93 - Variable testing
${parameter :=word }
If parameter is not set or is null then set it to word; the value of the
parameter is then substituted. Positional parameters may not be
assigned to in this way. word is not evaluated unless it is to be used
as the substituted string. If the colon ( :) is omitted, the shell only
checks whether parameter is set or not.
%
Korn Shell 93 - Variable testing
${parameter :?word }
If parameter is set and is non-null then substitute its value;
otherwise, print word and exit from the shell (if not interactive). If
word is omitted then a standard message is printed. word is not
evaluated unless it is to be used as the substituted string. If the
colon ( :) is omitted, the shell only checks whether parameter is set or
not.
%
Korn Shell 93 - Variable testing
${parameter :+word }
If parameter is set and is non-null then substitute word; otherwise
substitute nothing. word is not evaluated unless it is to be used as
the substituted string. If the colon ( :) is omitted, the shell only
checks whether parameter is set or not.
%
Korn Shell 93 - Variable Substring
${parameter :offset :length }
${parameter :offset }
Expands to the portion of the value of parameter starting at the
character (counting from 0 ) determined by expanding offset as an
arithmetic expression and consisting of the number of characters
determined by the arithmetic expression defined by length. In the
second form, the remainder of the value is used. If parameter is * or
@, or is an array name indexed by * or @, then offset and length refer
to the array index and number of elements respectively.
%
Korn Shell 93 - Variable Substring
${parameter #pattern }
${parameter ##pattern }
If the shell pattern matches the beginning of the value of parameter,
then the value of this expansion is the value of the parameter with the
matched portion deleted; otherwise the value of this parameter is
substituted. In the first form the smallest matching pattern is deleted
and in the second form the largest matching pattern is deleted. When
parameter is @, *, or an array variable with subscript @ or *, the
substring operation is applied to each element in turn.
%
Korn Shell 93 - Variable Substring
${parameter %pattern }
${parameter %%pattern }
If the shell pattern matches the end of the value of parameter, then the
value of this expansion is the value of the parameter with the matched
part deleted; otherwise substitute the value of parameter. In the first
form the smallest matching pattern is deleted and in the second form the
largest matching pattern is deleted. When parameter is @, *, or an
array variable with subscript @ or *, the substring operation is applied
to each element in turn.
%
Korn Shell 93 - Variable Substitution
${parameter /pattern /string }
${parameter //pattern /string }
${parameter /#pattern /string }
${parameter /%pattern /string }
Expands parameter and replaces the longest match of pattern with the
given string. Each occurrence of \n in string is replaced by the
portion of parameter that matches the n -th sub-pattern. In the first
form, only the first occurrence of pattern is replaced. In the second
form, each match for pattern is replaced by the given string. The third
form restricts the pattern match to the beginning of the string while
the fourth form restricts the pattern match to the end of the string.
When string is null, the pattern will be deleted and the / in front of
string may be omitted. When parameter is @, *, or an array variable
with subscript @ or *, the substitution operation is applied to each
element in turn.
%
Korn Shell 93 - Special Variables
${#}
The number of positional parameters in decimal.
%
Korn Shell 93 - Special Variables
${-}
Options supplied to the shell on invocation or by the set command.
%
Korn Shell 93 - Special Variables
${?}
The decimal value returned by the last executed command.
%
Korn Shell 93 - Special Variables
${$}
The process number of this shell.
%
Korn Shell 93 - Special Variables
${_}
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 parameter is also
used to hold the name of the matching MAIL file when checking for mail.
%
Korn Shell 93 - Special Variables
${!}
The process number of the last background command invoked.
%
Korn Shell 93 - Special Variables
${.sh.edchar}
This variable contains the value of the keyboard character (or sequence
of characters if the first character is an ESC, ascii 033 ) that has
been entered when processing a KEYBD trap. If
the value is changed as part of the trap action, then the new value
replaces the key (or key sequence) that caused the trap.
%
Korn Shell 93 - Special Variables
${.sh.edcol}
The character position of the cursor at the time of the most recent
KEYBD trap.
%
Korn Shell 93 - Special Variables
${.sh.edmode}
The value is set to ESC when processing a KEYBD trap while in vi insert
mode. Otherwise, .sh.edmode is null when
processing a KEYBD trap.
%
Korn Shell 93 - Special Variables
${.sh.edtext}
The characters in the input buffer at the time of the most recent KEYBD
trap. The value is null when not processing a KEYBD trap.
%
Korn Shell 93 - Special Variables
${.sh.name}
Set to the name of the variable at the time that a discipline function
is invoked.
%
Korn Shell 93 - Special Variables
${.sh.subscript}
Set to the name subscript of the variable at the time that a discipline
function is invoked.
%
Korn Shell 93 - Special Variables
${.sh.value}
Set to the value of the variable at the time that the set discipline
function is invoked.
%
Korn Shell 93 - Special Variables
${.sh.version}
Set to a value that identifies the version of this shell.
%
Korn Shell 93 - Variables used by the shell
LINENO
The current line number within the script or function being executed.
%
Korn Shell 93 - Variables used by the shell
OLDPWD
The previous working directory set by the cd command.
%
Korn Shell 93 - Variables used by the shell
OPTARG
The value of the last option argument processed by the getopts built-in
command.
%
Korn Shell 93 - Variables used by the shell
OPTIND
The index of the last option argument processed by the getopts built-in
command.
%
Korn Shell 93 - Variables used by the shell
PPID
The process number of the parent of the shell.
%
Korn Shell 93 - Variables used by the shell
PWD
The present working directory set by the cd command.
%
Korn Shell 93 - Variables used by the shell
RANDOM
Each time this variable is referenced, a random integer, uniformly
distributed between 0 and 32767, is generated. The sequence of random
numbers can be initialized by assigning a numeric value to RANDOM.
%
Korn Shell 93 - Variables used by the shell
REPLY
This variable is set by the select statement and by the read built-in
command when no arguments are supplied.
%
Korn Shell 93 - Variables used by the shell
SECONDS
Each time this variable is referenced, the number of seconds since shell
invocation is returned. If this variable is assigned a value, then the
value returned upon reference will be the value that was assigned plus
the number of seconds since the assignment.
%
Korn Shell 93 - Variables used by the shell
CDPATH
The search path for the cd command.
%
Korn Shell 93 - Variables used by the shell
COLUMNS
If this variable is set, the value is used to define the width of the
edit window for the shell edit modes and for printing select lists.
%
Korn Shell 93 - Variables used by the shell
EDITOR
If the value of this variable ends in emacs, gmacs, or vi and the VISUAL
variable is not set, then the corresponding option will be turned on.
%
Korn Shell 93 - Variables used by the shell
ENV
If this variable is set, then parameter expansion, command substitution,
and arithmetic substitution are performed on the value to generate the
pathname of the script that will be executed when the shell is invoked.
This file is typically used for alias and function definitions.
%
Korn Shell 93 - Variables used by the shell
FCEDIT
Obsolete name for the default editor name for the hist command. FCEDIT
is not used when HISTEDIT is set.
%
Korn Shell 93 - Variables used by the shell
FIGNORE
A pattern that defines the set of filenames that will be ignored when
performing filename matching.
%
Korn Shell 93 - Variables used by the shell
FPATH
The search path for function definitions. This path is searched for a
file with the same name as the function or command when a function with
the -u attribute is referenced and when a command is not found. If an
executable file with the name of that command is found, then it is read
and executed in the current environment.
%
Korn Shell 93 - Variables used by the shell
HISTCMD
Number of the current command in the history file.
%
Korn Shell 93 - Variables used by the shell
HISTEDIT
Name for the default editor name for the hist command.
%
Korn Shell 93 - Variables used by the shell
HISTFILE
If this variable is set when the shell is invoked, then the value is the
pathname of the file that will be used to store the command history.
%
Korn Shell 93 - Variables used by the shell
HISTSIZE
If this variable is set when the shell is invoked, then the number of
previously entered commands that are accessible by this shell will be
greater than or equal to this number. The default is 128.
%
Korn Shell 93 - Variables used by the shell
HOME
The default argument (home directory) for the cd command.
%
Korn Shell 93 - Variables used by the shell
IFS
Internal field separators, normally space, tab, and new-line that are
used to separate the results of command substitution or parameter
expansion and to separate fields with the built-in command read. The
first character of the IFS variable is used to separate arguments for
the "$*" substitution. Each single occurrence of an IFS character in
the string to be split, that is not in the isspace character class, and
any adjacent characters in IFS that are in the isspace character class,
delimit a field. One or more characters in IFS that belong to the
isspace character class, delimit a field. In addition, if the same
isspace character appears consecutively inside IFS, this character is
treated as if it were not in the isspace class, so that if IFS consists
of two tab characters, then two adjacent tab characters delimit a null
field.
%
Korn Shell 93 - Variables used by the shell
LANG
This variable determines the locale category for any category not
specifically selected with a variable starting with LC_ or LANG.
%
Korn Shell 93 - Variables used by the shell
LC_ALL
This variable overrides the value of the LANG variable and any other LC_
variable.
%
Korn Shell 93 - Variables used by the shell
LC_COLLATE
This variable determines the locale category for character collation
information.
%
Korn Shell 93 - Variables used by the shell
LC_CTYPE
This variable determines the locale category for character handling
functions. It determines the character classes for pattern matching.
%
Korn Shell 93 - Variables used by the shell
LC_NUMERIC
This variable determines the locale category for the decimal point
character.
%
Korn Shell 93 - Variables used by the shell
LINES
If this variable is set, the value is used to determine the column
length for printing select lists. Select lists will print vertically
until about two-thirds of LINES lines are filled.
%
Korn Shell 93 - Variables used by the shell
MAIL
If this variable is set to the name of a mail file and the MAILPATH
variable is not set, then the shell informs the user of arrival of mail
in the specified file.
%
Korn Shell 93 - Variables used by the shell
MAILCHECK
This variable specifies how often (in seconds) the shell will check for
changes in the modification time of any of the files specified by the
MAILPATH or MAIL variables. The default value is 600 seconds. When the
time has elapsed the shell will check before issuing the next prompt.
%
Korn Shell 93 - Variables used by the shell
MAILPATH
A colon ( : ) separated list of file names. If this variable is set,
then the shell informs the user of any modifications to the specified
files that have occurred within the last MAILCHECK seconds. Each file
name can be followed by a ? and a message that will be printed. The
message will undergo parameter expansion, command substitution, and
arithmetic substitution with the variable $_ defined as the name of the
file that has changed. The default message is youhavemailin$_ .
%
Korn Shell 93 - Variables used by the shell
PATH
The search path for commands. The user may not
change PATH if executing under rsh (except in .profile ).
%
Korn Shell 93 - Variables used by the shell
PS1
The value of this variable is expanded for parameter expansion, command
substitution, and arithmetic substitution to define the primary prompt
string which by default is ``$ ''. The character ! in the primary
prompt string is replaced by the command number. Two successive
occurrences of ! will produce a single ! when the prompt string is
printed.
%
Korn Shell 93 - Variables used by the shell
PS2
Secondary prompt string, by default ``> ''.
%
Korn Shell 93 - Variables used by the shell
PS3
Selection prompt string used within a select loop, by default ``#? ''.
%
Korn Shell 93 - Variables used by the shell
PS4
The value of this variable is expanded for parameter evaluation, command
substitution, and arithmetic substitution and precedes each line of an
execution trace. By default, PS4 is ``+ ''. In addition when PS4 is
unset, the execution trace prompt is also ``+ ''.
%
Korn Shell 93 - Variables used by the shell
SHELL
The pathname of the shell is kept in the environment. At invocation, if
the basename of this variable is rsh, rksh, or krsh, then the shell
becomes restricted.
%
Korn Shell 93 - Variables used by the shell
TMOUT
If set to a value greater than zero, TMOUT will be the default timeout
value for the read built-in command. The select compound command
terminates after TMOUT seconds when input is from a terminal.
Otherwise, the shell will terminate if a line is not entered within the
prescribed number of seconds while reading from a terminal. (Note that
the shell can be compiled with a maximum bound for this value which
cannot be exceeded.)
%
Korn Shell 93 - Variables used by the shell
VISUAL
If the value of this variable ends in emacs, gmacs, or vi then the
corresponding option will be turned on.
The value of VISUAL overrides the value of EDITOR.
%
Korn Shell 93 - Preset Variables
The shell gives default values to PATH, PS1, PS2, PS3, PS4, MAILCHECK,
FCEDIT, TMOUT and IFS, while HOME, SHELL, ENV, and MAIL are not set at
all by the shell (although HOME is set by login(1)). On some systems
MAIL and SHELL are also set by login(1).
%
Korn Shell 93 - Field Splitting
After parameter expansion and command substitution, the results of
substitutions are scanned for the field separator characters (those
found in IFS ) and split into distinct fields where such characters are
found. Explicit null fields ( " " or ' ' ) are retained. Implicit null
fields (those resulting from parameters that have no values or command
substitutions with no output) are removed.
%
Korn Shell 93 - File Name Generation.
* Matches any string, including the null string.
? Matches any single character.
[...] Matches any one of the enclosed characters.
%
Korn Shell 93 - Equivalence Classes
[[:alnum:]] - Matches all alphanumeric characters
%
Korn Shell 93 - Equivalence Classes
[[:alpha:]] - Matches all alphabetic characters
%
Korn Shell 93 - Equivalence Classes
[[:blank:]] - Matches space or tab
%
Korn Shell 93 - Equivalence Classes
[[:ctrl:]] - Matches all control characters
%
Korn Shell 93 - Equivalence Classes
[[:digit:]] - Matches all numeric characters
%
Korn Shell 93 - Equivalence Classes
[[:graph:]] - Matches all non-spaces
%
Korn Shell 93 - Equivalence Classes
[[:lower:]] - Matches all lowercase characters
%
Korn Shell 93 - Equivalence Classes
[[:print:]] - Matches all printable characters
%
Korn Shell 93 - Equivalence Classes
[[:punct:]] - Matches all punctuation characters
%
Korn Shell 93 - Equivalence Classes
[[:space:]] - Matches all whitespace characters
%
Korn Shell 93 - Equivalence Classes
[[:upper:]] - Matches all uppercase characters
%
Korn Shell 93 - Equivalence Classes
[[:word:]] - Similar to [[:alnum:]]. Matches all alphanumeric characters
%
Korn Shell 93 - Equivalence Classes
[[:xdigit:]] - Matches all hexadecimal characters
%
Korn Shell 93 - Pattern Operators
?(pattern-list )
Optionally matches any one of the given patterns.
A pattern-list is a list of one or more patterns separated from each
other with a "&" or "|". A & signifies that all patterns must be
matched whereas | requires that only one pattern be matched. Composite
patterns can be formed with one or more of the following sub-patterns:
%
Korn Shell 93 - Pattern Operators
*(pattern-list )
Matches zero or more occurrences of the given patterns.
A pattern-list is a list of one or more patterns separated from each
other with a "&" or "|". A & signifies that all patterns must be
matched whereas | requires that only one pattern be matched. Composite
patterns can be formed with one or more of the following sub-patterns:
%
Korn Shell 93 - Pattern Operators
+(pattern-list )
Matches one or more occurrences of the given patterns.
A pattern-list is a list of one or more patterns separated from each
other with a "&" or "|". A & signifies that all patterns must be
matched whereas | requires that only one pattern be matched. Composite
patterns can be formed with one or more of the following sub-patterns:
%
Korn Shell 93 - Pattern Operators
@(pattern-list )
Matches exactly one of the given patterns.
A pattern-list is a list of one or more patterns separated from each
other with a "&" or "|". A & signifies that all patterns must be
matched whereas | requires that only one pattern be matched. Composite
patterns can be formed with one or more of the following sub-patterns:
%
Korn Shell 93 - Pattern Operators
!(pattern-list )
Matches anything except one of the given patterns.
A pattern-list is a list of one or more patterns separated from each
other with a "&" or "|". A & signifies that all patterns must be
matched whereas | requires that only one pattern be matched. Composite
patterns can be formed with one or more of the following sub-patterns:
%
Korn Shell 93 - Quoting
A character may be quoted (i.e., made to stand for itself) by preceding
it with a \. The pair \new-line is removed.
%
Korn Shell 93 - Quoting
All metacharacters are suppressed between single quote marks.
%
Korn Shell 93 - Quoting
All metacharacters are suppressed between double quote marks except $,
\, and `.
%
Korn Shell 93 - Arithmetic Evaluation
An arithmetic expression uses the same syntax, precedence, and
associativity of expression as the C language. All the C language
operators that apply to floating point quantities can be used. In
addition, when the value of an arithmetic variable or sub-expression can
be represented as a long integer, all C language integer arithmetic
operations can be performed. Variables can be referenced by name within
an arithmetic expression without using the parameter expansion syntax.
When a variable is referenced, its value is evaluated as an arithmetic
expression.
%
Korn Shell 93 - Arithmetic Evaluation
The following math library functions can be used with an arithmetic
expression:
abs acos asin atan cos cosh exp int log sin sinh sqrt tan tanh
%
Korn Shell 93 - Arithmetic Evaluation
An internal representation of a variable as a double precision floating
point can be specified with the -E [ n ] or -F [ n ] option of the
typeset special built-in command.
%
Korn Shell 93 - Arithmetic Evaluation
typeset -E
The -E option causes the expansion of the value to be represented using
scientific notation when it is expanded. The optional option argument n
defines the number of significant figures.
%
Korn Shell 93 - Arithmetic Evaluation
typeset -F
The -F option causes the expansion to be represented as a floating
decimal number when it is expanded. The optional option argument n
defines the number of places after the decimal point in this case.
%
Korn Shell 93 - Arithmetic Evaluation
typeset -i
An internal integer representation of a variable can be specified with
the -i [ n ] option of the typeset special built-in command. The
optional option argument n specifies an arithmetic base to be used when
expanding the variable. If you do not specify an arithmetic base, the
first assignment to the variable determines the arithmetic base.
%
Korn Shell 93 - Prompting
When used interactively, the shell prompts with the value of PS1 after
expanding it for parameter expansion, command substitution, and
arithmetic substitution, before reading a command. In addition, each
single ! in the prompt is replaced by the command number. A !! is
required to place ! in the prompt.
%
Korn Shell 93 - Conditional Expressions
[[ string ]]
True, if string is not null.
%
Korn Shell 93 - Conditional Expressions
[[ -a file ]]
Same as -e below. This is obsolete.
%
Korn Shell 93 - Conditional Expressions
[[ -b file ]]
True, if file exists and is a block special file.
%
Korn Shell 93 - Conditional Expressions
[[ -c file ]]
True, if file exists and is a character special file.
%
Korn Shell 93 - Conditional Expressions
[[ -d file ]]
True, if file exists and is a directory.
%
Korn Shell 93 - Conditional Expressions
[[ -e file ]]
True, if file exists.
%
Korn Shell 93 - Conditional Expressions
[[ -f file ]]
True, if file exists and is an ordinary file.
%
Korn Shell 93 - Conditional Expressions
[[ -g file ]]
True, if file exists and it has its setgid bit set.
%
Korn Shell 93 - Conditional Expressions
[[ -k file ]]
True, if file exists and it has its sticky bit set.
%
Korn Shell 93 - Conditional Expressions
[[ -n string ]]
True, if length of string is non-zero.
%
Korn Shell 93 - Conditional Expressions
[[ -o option ]]
True, if option named option is on.
%
Korn Shell 93 - Conditional Expressions
[[ -p file ]]
True, if file exists and is a fifo special file or a pipe.
%
Korn Shell 93 - Conditional Expressions
[[ -r file ]]
True, if file exists and is readable by current process.
%
Korn Shell 93 - Conditional Expressions
[[ -s file ]]
True, if file exists and has size greater than zero.
%
Korn Shell 93 - Conditional Expressions
[[ -t fildes ]]
True, if file descriptor number fildes is open and associated with a
terminal device.
%
Korn Shell 93 - Conditional Expressions
[[ -u file ]]
True, if file exists and it has its setuid bit set.
%
Korn Shell 93 - Conditional Expressions
[[ -w file ]]
True, if file exists and is writable by current process.
%
Korn Shell 93 - Conditional Expressions
[[ -x file ]]
True, if file exists and is executable by current process. If file
exists and is a directory, then true if the current process has
permission to search in the directory.
%
Korn Shell 93 - Conditional Expressions
[[ -z string ]]
True, if length of string is zero.
%
Korn Shell 93 - Conditional Expressions
[[ -L file ]]
True, if file exists and is a symbolic link.
%
Korn Shell 93 - Conditional Expressions
[[ -O file ]]
True, if file exists and is owned by the effective user id of this
process.
%
Korn Shell 93 - Conditional Expressions
[[ -G file ]]
True, if file exists and its group matches the effective group id of
this process.
%
Korn Shell 93 - Conditional Expressions
[[ -S file ]]
True, if file exists and is a socket.
%
Korn Shell 93 - Conditional Expressions
[[ file1 -nt file2 ]]
True, if file1 exists and file2 does not, or file1 is newer than file2.
%
Korn Shell 93 - Conditional Expressions
[[ file1 -ot file2 ]]
True, if file2 exists and file1 does not, or file1 is older than file2.
%
Korn Shell 93 - Conditional Expressions
[[ file1 -ef file2 ]]
True, if file1 and file2 exist and refer to the same file.
%
Korn Shell 93 - Conditional Expressions
[[ string == pattern ]]
True, if string matches pattern. Any part of pattern can be quoted to
cause it to be matched as a string.
%
Korn Shell 93 - Conditional Expressions
[[ string = pattern ]]
Same as == above, but is obsolete.
%
Korn Shell 93 - Conditional Expressions
[[ string != pattern ]]
True, if string does not match pattern.
%
Korn Shell 93 - Conditional Expressions
[[ string1 < string2 ]]
True, if string1 comes before string2 based on ASCII value of their
characters.
%
Korn Shell 93 - Conditional Expressions
[[ string1 > string2 ]]
True, if string1 comes after string2 based on ASCII value of their
characters.
%
Korn Shell 93 - Conditional Expressions
[[ exp1 -eq exp2 ]]
True, if exp1 is equal to exp2.
Obsolete syntax
%
Korn Shell 93 - Conditional Expressions
[[ exp1 -ne exp2 ]]
True, if exp1 is not equal to exp2.
Obsolete syntax
%
Korn Shell 93 - Conditional Expressions
[[ exp1 -lt exp2 ]]
True, if exp1 is less than exp2.
Obsolete syntax
%
Korn Shell 93 - Conditional Expressions
[[ exp1 -gt exp2 ]]
True, if exp1 is greater than exp2.
Obsolete syntax
%
Korn Shell 93 - Conditional Expressions
[[ exp1 -le exp2 ]]
True, if exp1 is less than or equal to exp2.
Obsolete syntax
%
Korn Shell 93 - Conditional Expressions
[[ exp1 -ge exp2 ]]
True, if exp1 is greater than or equal to exp2.
Obsolete syntax
%
Korn Shell 93 - Compound Expressions
(expression)
True, if expression is true. Used to group expressions.
expression can be any Unix command.
%
Korn Shell 93 - Compound Expressions
! expression
True if expression is false.
expression can be any Unix command.
%
Korn Shell 93 - Compound Expressions
expression1 && expression2
True, if expression1 and expression2 are both true.
expression can be any Unix command.
%
Korn Shell 93 - Compound Expressions
expression1 || expression2
True, if either expression1 or expression2 is true.
expression can be any Unix command.
%
Korn Shell 93 - Input/Output
word
Redirect standard output (file descriptor 1) to a file specified by
"word". If the file does not exist then it is created. If the file
exists, and the noclobber option is on, this causes an error; otherwise,
it is truncated to zero length.
%
Korn Shell 93 - Input/Output
>|word
Sames as >, except that it overrides the noclobber option.
%
Korn Shell 93 - Input/Output
>>word
Redirect standard output (file descriptor 1) to a file specified by
"word". If the file exists, then output is appended to it (by first
seeking to the end-of-file); otherwise, the file is created.
%
Korn Shell 93 - Input/Output
<>word
Open file word for reading and writing as standard input.
%
Korn Shell 93 - Input/Output
<<[ - ]word
The shell input is read up to a line that is the same as word after any
quoting has been removed, or to an end-of-file. No parameter
substitution, command substitution, arithmetic substitution or file name
generation is performed on word. The resulting document, called a
here-document, becomes the standard input. If any character of word is
quoted, then no interpretation is placed upon the characters of the
document; otherwise, parameter expansion, command substitution, and
arithmetic substitution occur, \new-line is ignored, and \ must be used
to quote the characters \, $, `. If - is appended to <<, then all
leading tabs are stripped from word and from the document.
%
Korn Shell 93 - Input/Output
<&digit
The standard input is duplicated from file descriptor digit. Similarly
for the standard output using >& digit.
%
Korn Shell 93 - Input/Output
<&digit-
The file descriptor given by digit is moved to standard input.
Similarly for the standard output using >& digit-.
%
Korn Shell 93 - Input/Output
<&-
The standard input is closed. Similarly for the standard output using
>&-.
%
Korn Shell 93 - Input/Output
<&p
The input from the co-process is moved to standard input.
%
Korn Shell 93 - Input/Output
>&p
The output to the co-process is moved to standard output.
%
Korn Shell 93 - Input/Output
2>&1
Means file descriptor 2 is to be opened for writing as a duplicate of
file descriptor 1.
%
Korn Shell 93 - Input/Output
The order in which redirections are specified is significant. The shell
evaluates each redirection in terms of the (file descriptor, file)
association at the time of evaluation. For example:
1>fname 2>&1
first associates file descriptor 1 with file fname . It then associates
file descriptor 2 with the file associated with file descriptor 1 (i.e.
fname ). If the order of redirections were reversed, file descriptor 2
would be associated with the terminal (assuming file descriptor 1 had
been) and then file descriptor 1 would be associated with file fname .
%
Korn Shell 93 - Input/Output
If a command is followed by "&" and job control is not active, then the
default standard input for the command is the empty file /dev/null.
Otherwise, the environment for the execution of a command contains the
file descriptors of the invoking shell as modified by input/output
specifications.
%
Korn Shell 93 - Environment
The environment is a list of name-value pairs that is passed to an
executed program in the same way as a normal argument list. The names
must be identifiers and the values are character strings. The shell
interacts with the environment in several ways.
%
Korn Shell 93 - Functions
For historical reasons, there are two ways to define functions, the
name( ) syntax and the function name syntax. Shell functions are read
in and stored internally.
%
Korn Shell 93 - Functions
Functions defined by the function name syntax and called by name execute
in the same process as the caller and share all files and present
working directory with the caller.
%
Korn Shell 93 - Functions
Functions defined with the name( ) syntax and functions defined with the
function name syntax that are invoked with the . special built-in are
executed in the caller's environment and share all variables and traps
with the caller. Errors within these function executions cause the
script that contains them to abort.
%
Korn Shell 93 - Functions
The special built-in command "return" is used to return from function
calls.
%
Korn Shell 93 - Functions
Function names can be listed with the -f or +f option of the typeset
special built-in command. The text of functions, when available, will
also be listed with -f. Functions can be undefined with the -f option
of the unset special built-in command.
%
Korn Shell 93 - Functions
Ordinarily, functions are unset when the shell executes a shell script.
Functions that need to be defined across separate invocations of the
shell should be placed in a directory and the FPATH variable should
contain the name of this directory. They may also be specified in the
ENV file.
%
Korn Shell 93 - Discipline Functions
Each variable can have zero or more discipline functions associated with
it. The shell initially understands the discipline names get, set, and
unset but on most systems others can be added at run time via the C
programming interface extension provided by the builtin built-in
utility.
%
Korn Shell 93 - Discipline Functions
If the get discipline function is defined for a variable, it is invoked
whenever the given variable is referenced. If the variable .sh.value is
assigned a value inside the discipline function, the referenced variable
will evaluate to this value instead.
%
Korn Shell 93 - Discipline Functions
If the set discipline function is defined for a variable, it is invoked
whenever the given variable is assigned a value. The variable .sh.value
is given the value of the variable before invoking the discipline, and
the variable will be assigned the value of .sh.value after the
discipline completes. If .sh.value is unset inside the discipline, then
that value is unchanged.
%
Korn Shell 93 - Discipline Functions
If the unset discipline function is defined for a variable, it is
invoked whenever the given variable is unset. The variable will not be
unset unless it is unset explicitly from within this discipline
function.
%
Korn Shell 93 - Discipline Functions
The variable .sh.name contains the name of the variable for which the
discipline function is called, .sh.subscript is the subscript of the
variable, and .sh.value will contain the value being assigned inside the
.set discipline function. For the set discipline, changing .sh.value
will change the value that gets assigned.
%
Korn Shell 93 - Jobs
If the monitor option of the set command is turned on, an interactive
shell associates a job with each pipeline. It keeps a table of current
jobs, printed by the "jobs" command, and assigns them small integer
numbers. When a job is started asynchronously with &, the shell prints
a line which looks like:
[1] 1234
indicating that the job which was started asynchronously was job number
1 and had one (top-level) process, whose process id was 1234.
%
Korn Shell 93 - Jobs
If you are running a job and wish to do something else you may hit the
key ^Z (control-Z) which sends a STOP signal to the current job. The
shell will then normally indicate that the job has been `Stopped', and
print another prompt.
%
Korn Shell 93 - Jobs
After "stopping" a process using a control-Z, put the job in the
background using the "bg" command or put the job in the foreground using
the "fg" command.
%
Korn Shell 93 - Jobs
A job being run in the background will stop if it tries to read from the
terminal. Background jobs are normally allowed to produce output, but
this can be disabled by giving the command "stty tostop". If you set
this tty option, then background jobs will stop when they try to produce
output like they do when they try to read input.
%
Korn Shell 93 - Jobs
A job can be referred to by the process id of any process of the job or
by one of the following:
%number The job with the given number.
%string Any job whose command line begins with string.
%?string Any job whose command line contains string.
%% Current job.
%+ Equivalent to %%.
%- Previous job.
%
Korn Shell 93 - Jobs
The shell learns immediately whenever a process changes state. It
normally informs you whenever a job becomes blocked so that no further
progress is possible, but only just before it prints a prompt. This is
done so that it does not otherwise disturb your work. The notify option
of the set command causes the shell to print these job change messages
as soon as they occur.
%
Korn Shell 93 - Jobs
When you try to leave the shell while jobs are running or stopped, you
will be warned that `You have stopped(running) jobs.' You may use the
"jobs" command to see what they are. If you immediately try to exit
again, the shell will not warn you a second time, and the stopped jobs
will be terminated.
%
Korn Shell 93 - Signals
The INT and QUIT signals for an invoked command are ignored if the
command is followed by "&" and the monitor option is not active.
Otherwise, signals have the values inherited by the shell from its
parent.
%
Korn Shell 93 - Command Re-entry
The text of the last HISTSIZE (default 128) commands entered from a
terminal device is saved in a history file. The file $HOME/.sh_history
is used if the HISTFILE variable is not set or if the file it names is
not writable. A shell can access the commands of all interactive shells
which use the same named HISTFILE.
%
Korn Shell 93 - Emacs mode (set -o emacs ) key bindings
^F
Move cursor forward (right) one character.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-f
Move cursor forward one word. (The emacs editor's idea of a word is a
string of characters consisting of only letters, digits and
underscores.)
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^B
Move cursor backward (left) one character.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-b
Move cursor backward one word.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^A
Move cursor to start of line.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^E
Move cursor to end of line.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^]char
Move cursor forward to character char on current line.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-^]char
Move cursor backward to character char on current line.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^X^X
Interchange the cursor and mark.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
erase
(User defined erase character as defined by the stty(1) command, usually
^H or #.) Delete previous character.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^D
Delete current character.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-d
Delete current word.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-^H
(Meta-backspace) Delete previous word.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-h
Delete previous word.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-^?
(Meta-DEL) Delete previous word (if your interrupt character is ^? (DEL,
the default) then this command will not work).
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^T
Transpose current character with previous character and advance the
cursor in emacs mode. Transpose two previous characters in gmacs mode.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^C
Capitalize current character.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-c
Capitalize current word.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-l
Change the current word to lower case.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^K
Delete from the cursor to the end of the line. If preceded by a
numerical parameter whose value is less than the current cursor
position, then delete from given position up to the cursor. If preceded
by a numerical parameter whose value is greater than the current cursor
position, then delete from cursor up to given cursor position.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^W
Kill from the cursor to the mark.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-p
Push the region from the cursor to the mark on the stack.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
kill
(User defined kill character as defined by the stty command, usually ^G
or @.) Kill the entire current line. If two kill characters are entered
in succession, all kill characters from then on cause a line feed
(useful when using paper terminals).
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^Y
Restore last item removed from line. (Yank item back to the line.)
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^L
Line feed and print current line.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^@
(Null character) Set mark.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-space
(Meta space) Set mark.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^J
(New line) Execute the current line.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^M
(Return) Execute the current line.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
eof
End-of-file character, normally ^D, is processed as an End-of-file only
if the current line is null.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^P
Fetch previous command. Each time ^P is entered the previous command
back in time is accessed. Moves back one line when not on the first
line of a multi-line command.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-<
Fetch the least recent (oldest) history line.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M->
Fetch the most recent (youngest) history line.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^N
Fetch next command line. Each time ^N is entered the next command line
forward in time is accessed.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^Rstring
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, then the
next command line containing the most recent string is accessed. In
this case a parameter of zero reverses the direction of the search.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^O
Operate - Execute the current line and fetch the next line relative to
current line from the history file.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-digits
(Escape) Define numeric parameter, the digits are taken as a parameter
to the next command. The commands that accept a parameter are ^F, ^B,
erase, ^C, ^D, ^K, ^R, ^P, ^N, ^], M-., M-^], M-_, M-b, M-c, M-d, M-f,
M-h, M-l and M-^H.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-letter
Soft-key - Your alias list is searched for an alias by the name _letter
and if an alias of this name is defined, its value will be inserted on
the input queue. The letter must not be one of the above
meta-functions.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-[letter
Soft-key - Your alias list is searched for an alias by the name __letter
and if an alias of this name is defined, its value will be inserted on
the input queue. The can be used to program functions keys on many
terminals.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-.
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.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-_
Same as M-..
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-*
Attempt file name generation on the current word. An asterisk is
appended if the word doesn't match any file or contain any special
pattern characters.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-ESC
Command or file name completion as described above.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-=
Command or file name listing as described above.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^U
Multiply parameter of next command by 4.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
\
Escape next character. Editing characters, the user's erase, kill and
interrupt (normally ^?) characters may 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).
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
^V
Display version of the shell.
%
Korn Shell 93 - Emacs Mode (set -o emacs) key bindings
M-#
If the line does not begin with a #, a # is inserted at the beginning of
the line and after each new-line, and the line is entered. This causes
a comment to be inserted in the history file. If the line begins with a
#, the # is deleted and one # after each new-line is also deleted.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
erase
(User defined erase character as defined by the stty command, usually ^H
or #.) Delete previous character.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
^W
Delete the previous blank separated word. On some systems the viraw
option may be required for this to work.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
eof
As the first character of the line causes the shell to terminate unless
the ignoreeof option is set. Otherwise this character is ignored.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
^V
Escape next character. Editing characters and the user's erase or kill
characters may be entered in a command line or in a search string if
preceded by a ^V. The ^V removes the next character's editing features
(if any). On some systems the viraw option may be required for this to
work.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
\
Escape the next erase or kill character.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]l
Cursor forward (right) one character.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]w
Cursor forward one alpha-numeric word.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]W
Cursor to the beginning of the next word that follows a blank.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]e
Cursor to end of word.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]E
Cursor to end of the current blank delimited word.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]h
Cursor backward (left) one character.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]b
Cursor backward one word.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]B
Cursor to preceding blank separated word.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]|
Cursor to column count.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]fc
Find the next character c in the current line.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]Fc
Find the previous character c in the current line.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]tc
Equivalent to f followed by h.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]Tc
Equivalent to F followed by l.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count];
Repeats count times, the last single character find command, f, F, t, or
T.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count],
Reverses the last single character find command count times.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
0
Cursor to start of line.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
^
Cursor to first non-blank character in line.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
$
Cursor to end of line.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
%
Moves to balancing (, ), {, }, [, or ]. If cursor is not on one of the
above characters, the remainder of the line is searched for the first
occurrence of one of the above characters first.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]k
Fetch previous command. Each time k is entered the previous command
back in time is accessed.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]-
Equivalent to k.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]j
Fetch next command. Each time j is entered the next command forward in
time is accessed.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]+
Equivalent to j.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]G
The command number count is fetched. The default is the least recent
history command.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
/string
Search backward through history for a previous command containing
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 will be used.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
?string
Same as / except that search will be in the forward direction.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
n
Search for next match of the last pattern to / or ? commands.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
N
Search for next match of the last pattern to / or ?, but in reverse
direction.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
a
Enter input mode and enter text after the current character.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
A
Append text to the end of the line. Equivalent to $a.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]cmotion
c[count]motion
Delete current character through the character that motion would move
the cursor to and enter input mode. If motion is c, the entire line
will be deleted and input mode entered.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
C
Delete the current character through the end of line and enter input
mode. Equivalent to c$.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
S
Equivalent to cc.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]s
Replace characters under the cursor in input mode.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
D
Delete the current character through the end of line. Equivalent to d$.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]dmotion
d[count]motion
Delete current character through the character that motion would move
to. If motion is d, the entire line will be deleted.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
i
Enter input mode and insert text before the current character.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
I
Insert text before the beginning of the line. Equivalent to 0i.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]P
Place the previous text modification before the cursor.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]p
Place the previous text modification after the cursor.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
R
Enter input mode and replace characters on the screen with characters
you type overlay fashion.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]rc
Replace the count character(s) starting at the current cursor position
with c, and advance the cursor.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]x
Delete current character.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]X
Delete preceding character.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count].
Repeat the previous text modification command.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]~
Invert the case of the count character(s) starting at the current cursor
position and advance the cursor.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]_
Causes the count word of the previous command to be appended and input
mode entered. The last word is used if count is omitted.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
*
Causes an * to be appended to the current word and file name generation
attempted. If no match is found, it rings the bell. Otherwise, the
word is replaced by the matching pattern and input mode is entered.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
\
Command or file name completion as described above.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]ymotion
y[count]motion
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.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
yy
Yanks the entire line.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
Y
Yanks from current position to end of line. Equivalent to y$.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
u
Undo the last text modifying command.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
U
Undo all the text modifying commands performed on the line.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
[count]v
Returns the command hist -e ${VISUAL:-${EDITOR:-vi}} count in the input
buffer. If count is omitted, then the current line is used.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
^L
Line feed and print current line. Has effect only in control mode.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
^J
(New line) Execute the current line, regardless of mode.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
^M
(Return) Execute the current line, regardless of mode.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
#
If the first character of the command is a #, then this command deletes
this # and each # that follows a newline. Otherwise, sends the line
after inserting a # in front of each line in the command. Useful for
causing the current line to be inserted in the history as a comment and
uncommenting previously commented commands in the history file.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
=
Command or file name listing as described above.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
@letter
Your alias list is searched for an alias by the name _letter and if an
alias of this name is defined, its value will be inserted on the input
queue for processing.
%
Korn Shell 93 - Vi Editing Mode (set -o vi) key bindings
^V
Display version of the shell.
Built-in Commands.
%
Korn Shell 93 - Built-in Commands
: [ arg ... ]
The command only expands parameters.
%
Korn Shell 93 - Built-in Commands
. name [ arg ... ]
If name is a function defined with the function name reserved word
syntax, the function is executed in the current environment (as if it
had been defined with the name() syntax.) Otherwise if name refers to a
file, the file is read in its entirety and the commands are executed in
the current shell environment. The search path specified by PATH is
used to find the directory containing the file. If any arguments arg
are given, they become the positional parameters while processing the .
command and the original positional parameters are restored upon
completion. Otherwise the positional parameters are unchanged. The
exit status is the exit status of the last command executed.
%
Korn Shell 93 - Built-in Commands
alias [ -ptx ] [ name[ =value ] ] ...
alias with no arguments prints the list of aliases in the form
name=value on standard output. The -p option causes the word alias to
be inserted before each one. When one or more arguments are given, 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
obsolete -t option is used to set and list tracked aliases. The value
of a tracked alias is the full pathname corresponding to the given name.
The value becomes undefined when the value of PATH is reset but the
alias remains tracked. Without the -t option, for each name in the
argument list for which no value is given, the name and value of the
alias is printed. The obsolete -x option has no effect. The exit
status is non-zero if a name is given, but no value, and no alias has
been defined for the name .
%
Korn Shell 93 - Built-in Commands
bg [ job ... ]
This command is only on systems that support job control. Puts each
specified job into the background. The current job is put in the
background if job is not specified. See Jobs for a description of the
format of job.
%
Korn Shell 93 - Built-in Commands
break [ n ]
Exit from the enclosing for , while , until , or select loop, if any.
If n is specified, then break n levels.
%
Korn Shell 93 - Built-in Commands
builtin [ -ds ] [ -f file ] [ name ... ]
If name is not specified, and no -f option is specified, the built-ins
are printed on standard output. The -s option prints only the special
built-ins. Otherwise, each name represents the pathname whose basename
is the name of the built-in. The entry point function name is
determined by prepending b_ to the built-in name. Special built-ins
cannot be bound to a pathname or deleted. The -d option deletes each of
the given built-ins. On systems that support dynamic loading, the -f
option names a shared library containing the code for built-ins. Once a
library is loaded, its symbols become available for subsequent
invocations of builtin. Multiple libraries can be specified with
separate invocations of the builtin command. Libraries are searched in
the reverse order in which they are specified. When a library is
loaded, it looks for a function in the library whose name is lib_init()
and invokes this function with an argument of 0.
%
Korn Shell 93 - Built-in Commands
cd [ -LP ] [ arg ]
Changes the current directory to arg. If arg is - the directory is
changed to the previous directory. The shell variable HOME is the
default arg. The variable PWD is set to the current directory. The
shell variable CDPATH defines the search path for the directory
containing arg. Alternative directory names are separated by a colon
(:). The default path is (specifying the current directory).
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 / then
the search path is not used. Otherwise, each directory in the path is
searched for arg.
%
Korn Shell 93 - Built-in Commands
cd [ -LP ] old new
Substitutes the string new for the string old in the current directory
name, PWD, and tries to change to this new directory. By default,
symbolic link names are treated literally when finding the directory
name. This is equivalent to the -L option. The -P option causes
symbolic links to be resolved when determining the directory. The last
instance of -L or -P on the command line determines which method is
used. The cd command may not be executed by rsh .
%
Korn Shell 93 - Built-in Commands
command [ -pvV ] name [ arg ... ]
Without the -v or -V options, command executes name with the arguments
given by arg. The -p option causes a default path to be searched rather
than the one defined by the value of PATH. Functions will not be
searched for when finding name. In addition, if name refers to a
special built-in, none of the special properties associated with the
leading daggers will be honored. (For example, the predefined alias
redirect='command exec' prevents a script from terminating when an
invalid redirection is given.) With the -v option, command is equivalent
to the built-in whence command described below. The -V option causes
command to act like whence -v.
%
Korn Shell 93 - Built-in Commands
continue [ n ]
Resume the next iteration of the enclosing for , while , until , or
select loop. If n is specified, then resume at the n-th enclosing loop.
%
Korn Shell 93 - Built-in Commands
disown [ job ... ]
Causes the shell not to send a HUP signal to each given job, or all
active jobs if job is omitted, when a login shell terminates.
%
Korn Shell 93 - Built-in Commands
echo [ arg ... ]
When the first arg does not begin with a -, and none of the arguments
contain a \, then echo prints each of its arguments separated by a space
and terminated by a new-line. Otherwise, the behavior of echo is system
dependent and print or printf described below should be used. See
echo(1) for usage and description.
%
Korn Shell 93 - Built-in Commands
eval [ arg ... ]
The arguments are read as input to the shell and the resulting
command(s) executed.
%
Korn Shell 93 - Built-in Commands
exec [ -c ] [ -a name ] [ arg ... ]
If arg is given, the command specified by the arguments is executed in
place of this shell without creating a new process. The -c option
causes the environment to be cleared before applying variable
assignments associated with the exec invocation. The -a option causes
name rather than the first arg, to become argv[0] for the new process.
Input/output arguments may appear and affect the current process. If
arg is not 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 that are opened with
this mechanism are closed when invoking another program.
%
Korn Shell 93 - Built-in Commands
exit [ n ]
Causes the shell to exit with the exit status specified by n. The value
will be the least significant 8 bits of the specified status. If n is
omitted, then the exit status is that of the last command executed. An
end-of-file will also cause the shell to exit except for a shell which
has the ignoreeof option (see set below) turned on.
%
Korn Shell 93 - Built-in Commands
export [ -p ] [ name [ =value ] ] ...
If name is not given, the names and values of each variable with the
export attribute are printed with the values quoted in a manner that
allows them to be re-input. The -p option causes the word export to be
inserted before each one. Otherwise, the given names are marked for
automatic export to the environment of subsequently-executed commands.
%
Korn Shell 93 - Built-in Commands
false
Does nothing, and exits 1. Used with until for infinite loops.
%
Korn Shell 93 - Built-in Commands
fg [ job ... ]
This command is only on systems that support job control. Each job
specified is brought to the foreground and waited for in the specified
order. Otherwise, the current job is brought into the foreground. See
Jobs for a description of the format of job.
%
Korn Shell 93 - Built-in Commands
getconf [ name [ pathname ] ]
Prints the current value of the configuration parameter given by name.
The configuration parameters are defined by the IEEE POSIX 1003.1 and
IEEE POSIX 1003.2 standards. (See pathconf(2) and sysconf(2).) The
pathname argument is required for parameters whose value depends on the
location in the file system. If no arguments are given, getconf prints
the names and values of the current configuration parameters. The
pathname / is used for each of the parameters that requires pathname.
%
Korn Shell 93 - Built-in Commands
getopts [ -a name ] optstring vname [ arg ... ]
Checks arg for legal options. If arg is omitted, the positional
parameters are used. An option argument begins with a + or a -. An
option not beginning with + or - or the argument - - 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
options can be separated from the argument by blanks. The option -?
causes getopts to generate a usage message on standard error. The -a
argument can be used to specify the name to use for the usage message,
which defaults to $0. getopts places the next option letter it finds
inside variable vname each time it is invoked. The option letter will
be prepended with a + when arg begins with a +. The index of the next
arg is stored in OPTIND. The option argument, if any, gets stored in
OPTARG. A leading : in optstring causes getopts to store the letter of
an invalid option in OPTARG, and to set vname to ? for an unknown option
and to : when a required option is missing. Otherwise, getopts prints
an error message. The exit status is non-zero when there are no more
options. There is no way to specify any of the options :, +, -, ?, [,
and ]. The option # can only be specified as the first option.
%
Korn Shell 93 - Built-in Commands
hist [ -e ename ] [ -nlr ] [ first [ last ] ]
hist -s [ old\=new ] [ command ]
In the first form, a range of commands from first to last is selected
from the last HISTSIZE commands that were typed at the terminal. The
arguments first and last may be specified as a number or as a string. A
string is used to locate the most recent command starting with the given
string. A negative number is used as an offset to the current command
number. If the -l option is selected, the commands are listed on
standard output. Otherwise, the editor program ename is invoked on a
file containing these keyboard commands. If ename is not supplied, then
the value of the variable HISTEDIT is used. If HISTEDIT is not set,
then FCEDIT (default /bin/ed ) is used as the editor. When editing is
complete, the edited command(s) is executed if the changes have been
saved. If last is not specified, then it will be set to first. If
first is not specified, the default is the previous command for editing
and -16 for listing. The option -r reverses the order of the commands
and the option -n suppresses command numbers when listing. In the
second form, command is interpreted as first described above and
defaults to the last command executed. The resulting command is
executed after the optional substitution old =new is performed.
%
Korn Shell 93 - Built-in Commands
jobs [ -lnp ] [ job \... ]
Lists information about each given job; or all active jobs if job is
omitted. The -l option lists process ids in addition to the normal
information. The -n option only displays jobs that have stopped or
exited since last notified. The -p option causes only the process group
to be listed. See Jobs for a description of the format of job.
%
Korn Shell 93 - Built-in Commands
kill [ -s signame ] job ...
kill [ -n signum ] job ...
kill -l [ sig ... ]
Sends either the TERM (terminate) signal or the specified signal to the
specified jobs or processes. Signals are either given by number with
the -n option or by name with the -s option (as given in ,
stripped of the prefix ``SIG'' with the exception that SIGCLD is named
CHLD). For backward compatibility, the n and s can be omitted and the
number or name placed immediately after the -. If the signal being sent
is TERM (terminate) or HUP (hangup), then the job or process will be
sent a CONT (continue) signal if it is stopped. The argument job can be
the process id of a process that is not a member of one of the active
jobs. See Jobs for a description of the format of job. In the third
form, kill -l, if sig is not specified, the signal names are listed.
Otherwise, for each sig that is a name, the corresponding signal number
is listed. For each sig that is a number, the signal name corresponding
to the least significant 8 bits of sig is listed.
%
Korn Shell 93 - Built-in Commands
let arg ...
Each arg is a separate arithmetic expression to be evaluated. See
ArithmeticEvaluation above, for a description of arithmetic expression
evaluation. The exit status is 0 if the value of the last expression is
non-zero, and 1 otherwise.
%
Korn Shell 93 - Built-in Commands
newgrp [ arg ... ]
Equivalent to exec /bin/newgrp arg ... .
%
Korn Shell 93 - Built-in Commands
print [ -Rnprs ] [ -u unit ] [ -f format ] [ arg ... ]
With no options or with option - or - -, each arg is printed on standard
output. The -f option causes the arguments to be printed as described
by printf. In this case, any n, r, R options are ignored.
%
Korn Shell 93 - Escape Sequence Processing
$'\a'
The alert character (ascii 07).
%
Korn Shell 93 - Escape Sequence Processing
$'\b'
The backspace character (ascii 010).
%
Korn Shell 93 - Escape Sequence Processing
$'\c'
Causes print to end without processing more arguments and not adding a
new-line.
%
Korn Shell 93 - Escape Sequence Processing
$'\f'
The formfeed character (ascii 014).
%
Korn Shell 93 - Escape Sequence Processing
$'\n'
The new-line character (ascii 012).
%
Korn Shell 93 - Escape Sequence Processing
$'\r'
The carriage return character (ascii 015).
%
Korn Shell 93 - Escape Sequence Processing
$'\t'
The tab character (ascii 011).
%
Korn Shell 93 - Escape Sequence Processing
$'\v'
The vertical tab character (ascii 013).
%
Korn Shell 93 - Escape Sequence Processing
$'\E'
The escape character (ascii 033).
%
Korn Shell 93 - Escape Sequence Processing
$'\\'
The backslash character \.
%
Korn Shell 93 - Escape Sequence Processing
$'\0x'
The character defined by the 1, 2, or 3-digit octal string given by x.
%
Korn Shell 93 - Built-in Commands
printf format [ arg ... ]
The arguments arg are printed on standard output in accordance with the
ANSI-C formatting rules associated with the format string format. If
the number of arguments exceeds the number of format specifications, the
format string is reused to format remaining arguments. The following
extensions can also be used: A %b format can be used instead of %s to
cause escape sequences in the corresponding arg to be expanded as
described in print. A %P format can be used instead of %s to cause arg
to be interpreted as an extended regular expression and be printed as a
shell pattern. A %q format can be used instead of %s to cause the
resulting string to be quoted in a manner than can be reinput to the
shell. The precision field of the %d format can be followed by a . and
the output base.
%
Korn Shell 93 - Built-in Commands
pwd [ -LP ]
Outputs the value of the current working directory. The -L option is
the default; it prints the logical name of the current directory. If
the -P option is given, all symbolic links are resolved from the name.
The last instance of -L or -P on the command line determines which
method is used.
%
Korn Shell 93 - Built-in Commands
read [-Aprs] [-d delim] [-t timeout] [-u unit] [vname?prompt ] [vname ...]
The shell input mechanism. One line is read and is broken up into
fields using the characters in IFS as separators.
%
Korn Shell 93 - Built-in Commands
readonly [ -p ] [ vname[ =value ] ] ...
If vname is not given, the names and values of each variable with the
readonly attribute is printed with the values quoted in a manner that
allows them to be re-inputted. The -p option causes the word readonly
to be inserted before each one. Otherwise, the given vnames are marked
readonly and these names cannot be changed by subsequent assignment.
%
Korn Shell 93 - Built-in Commands
return [ n ]
Causes a shell function or . script to return to the invoking script
with the exit status specified by n. The value will be the least
significant 8 bits of the specified status. If n is omitted, then the
return status is that of the last command executed. If return is
invoked while not in a function or a . script, then it behaves the same
as exit.
%
Korn Shell 93 - Built-in Commands
set -A
Array assignment. Unset the variable vname and assign values
sequentially from the arg list. If +A is used, the variable vname is
not unset first.
%
Korn Shell 93 - Built-in Commands - set
set -C
Prevents redirection > from truncating existing files. Files that are
created are opened with the O_EXCL mode. Requires >| to truncate a file
when turned on.
%
Korn Shell 93 - Built-in Commands - set
set -a
All subsequent variables that are defined are automatically exported.
%
Korn Shell 93 - Built-in Commands - set
set -b
Prints job completion messages as soon as a background job changes state
rather than waiting for the next prompt.
%
Korn Shell 93 - Built-in Commands - set
set -e
If a command has a non-zero exit status, execute the ERR trap, if set,
and exit. This mode is disabled while reading profiles.
%
Korn Shell 93 - Built-in Commands - set
set -f
Disables file name generation.
%
Korn Shell 93 - Built-in Commands - set
set -h
Each command becomes a tracked alias when first encountered.
%
Korn Shell 93 - Built-in Commands - set
set -k
(Obsolete). All variable assignment arguments are placed in the
environment for a command, not just those that precede the command name.
%
Korn Shell 93 - Built-in Commands - set
set -m
Background jobs will run in a separate process group and a line will
print upon completion. The exit status of background jobs is reported
in a completion message. On systems with job control, this option is
turned on automatically for interactive shells.
%
Korn Shell 93 - Built-in Commands - set
set -n
Read commands and check them for syntax errors, but do not execute them.
Ignored for interactive shells.
%
Korn Shell 93 - Built-in Commands - set -o
set -o allexport
Same as -a.
%
Korn Shell 93 - Built-in Commands - set -o
set -o errexit
Same as -e.
%
Korn Shell 93 - Built-in Commands - set -o
set -o bgnice
All background jobs are run at a lower priority. This is the default
mode.
%
Korn Shell 93 - Built-in Commands - set -o
set -o emacs
Puts you in an emacs style in-line editor for command entry.
%
Korn Shell 93 - Built-in Commands - set -o
set -o gmacs
Puts you in a gmacs style in-line editor for command entry.
%
Korn Shell 93 - Built-in Commands - set -o
set -o ignoreeof
The shell will not exit on end-of-file. The command exit must be used.
%
Korn Shell 93 - Built-in Commands - set -o
set -o keyword
Same as -k.
%
Korn Shell 93 - Built-in Commands - set -o
set -o markdirs
All directory names resulting from file name generation have a trailing
/ appended.
%
Korn Shell 93 - Built-in Commands - set -o
set -o monitor
Same as -m.
%
Korn Shell 93 - Built-in Commands - set -o
set -o noclobber
Same as -C.
%
Korn Shell 93 - Built-in Commands - set -o
set -o noexec
Same as -n.
%
Korn Shell 93 - Built-in Commands - set -o
set -o noglob
Same as -f.
%
Korn Shell 93 - Built-in Commands - set -o
set -o nolog
Do not save function definitions in the history file.
%
Korn Shell 93 - Built-in Commands - set -o
set -o notify
Same as -b.
%
Korn Shell 93 - Built-in Commands - set -o
set -o nounset
Same as -u.
%
Korn Shell 93 - Built-in Commands - set -o
set -o privileged
Same as -p.
%
Korn Shell 93 - Built-in Commands - set -o
set -o verbose
Same as -v.
%
Korn Shell 93 - Built-in Commands - set -o
set -o trackall
Same as -h.
%
Korn Shell 93 - Built-in Commands - set -o
set -o vi
Puts you in insert mode of a vi style in-line editor until you hit the
escape character 033. This puts you in control mode. A return sends
the line.
%
Korn Shell 93 - Built-in Commands - set -o
set -o viraw
Each character is processed as it is typed in vi mode.
%
Korn Shell 93 - Built-in Commands - set -o
set -o xtrace
Same as -x.
%
Korn Shell 93 - Built-in Commands - set
-p
Disables processing of the $HOME/.profile file and uses the file
/etc/suid_profile instead of the ENV file. This mode is on whenever the
effective uid (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.
%
Korn Shell 93 - Built-in Commands - set
-s
Sort the positional parameters lexicographically.
%
Korn Shell 93 - Built-in Commands - set
-t
(Obsolete). Exit after reading and executing one command.
%
Korn Shell 93 - Built-in Commands - set
-u
Treat unset parameters as an error when substituting.
%
Korn Shell 93 - Built-in Commands - set
-v
Print shell input lines as they are read.
%
Korn Shell 93 - Built-in Commands - set
-x
Print commands and their arguments as they are executed.
%
Korn Shell 93 - Built-in Commands - set
--
Do not change any of the options; useful in setting $1 to a value
beginning with -. If no arguments follow this option then the
positional parameters are unset.
%
Korn Shell 93 - Built-in Commands
shift [ n ]
The positional parameters from $n+1 ... are renamed $1 ... ,
default n is 1. The parameter n can be any arithmetic expression that
evaluates to a non-negative number less than or equal to $#.
%
Korn Shell 93 - Built-in Commands
sleep seconds
Suspends execution for the number of decimal seconds or fractions of a
second given by seconds.
%
Korn Shell 93 - Built-in Commands
trap [ -p ] [ action ] [ sig ] ...
The "trap" command can intercept and handle signals sent to a running
process.
%
Korn Shell 93 - Built-in Commands
true
Does nothing, and exits 0. Used with while for infinite loops.
%
Korn Shell 93 - Built-in Commands
typeset -A vname
Declares vname to be an associative array. Subscripts are strings
rather than arithmetic expressions.
Using + rather than - causes this option to be turned off.
%
Korn Shell 93 - Built-in Commands
typeset -E vname
Declares vname to be a double precision floating point number. If n is
non-zero, it defines the number of significant figures that are used
when expanding vname. Otherwise, ten significant figures will be used.
Using + rather than - causes this option to be turned off.
%
Korn Shell 93 - Built-in Commands
typeset -F vname
Declares vname to be a double precision floating point number. If n is
non-zero, it defines the number of places after the decimal point that
are used when expanding vname. Otherwise ten places after the decimal
point will be used.
Using + rather than - causes this option to be turned off.
%
Korn Shell 93 - Built-in Commands
typeset -H
This option provides UNIX to host-name file mapping on non-UNIX
machines.
Using + rather than - causes this option to be turned off.
%
Korn Shell 93 - Built-in Commands
typeset -Ln
Left justify and remove leading blanks from value. 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. When the variable is assigned to, it
is filled on the right with blanks or truncated, if necessary, to fit
into the field. The -R option is turned off.
Using + rather than - causes this option to be turned off.
%
Korn Shell 93 - Built-in Commands
typeset -Rn
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 variable is reassigned. The -L option
is turned off.
Using + rather than - causes this option to be turned off.
%
Korn Shell 93 - Built-in Commands
typeset -Zn
Right justify and fill with leading zeros if the first non-blank
character is a digit and the -L option has not been set. Remove leading
zeros if the -L option is also 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.
Using + rather than - causes this option to be turned off.
%
Korn Shell 93 - Built-in Commands
typeset -f names...
The names refer to function names rather than variable names. No
assignments can be made and the only other valid options are -t, -u and
-x. The -t option turns on execution tracing for this function. The -u
option causes this function to be marked undefined. The FPATH variable
will be searched to find the function definition when the function is
referenced.
Using + rather than - causes this option to be turned off.
%
Korn Shell 93 - Built-in Commands
typeset -i vname
Declares vname to be represented internally as integer. The right hand
side of an assignment is evaluated as an arithmetic expression when
assigning to an integer. If n is non-zero, it defines the output
arithmetic base, otherwise the output base will be ten.
The -i attribute cannot be specified along with -R, -L, -Z, or -f.
Using + rather than - causes this option to be turned off.
%
Korn Shell 93 - Built-in Commands
typeset -l vname
All upper-case characters are converted to lower-case. The upper-case
option, -u, is turned off.
Using + rather than - causes this option to be turned off.
%
Korn Shell 93 - Built-in Commands
typeset -n vname
Declares vname to be a reference to the variable whose name is defined
by the value of variable vname. This is usually used to reference a
variable inside a function whose name has been passed as an argument.
Using + rather than - causes this option to be turned off.
%
Korn Shell 93 - Built-in Commands
typeset -r vname
The given vnames are marked readonly and these names cannot be changed
by subsequent assignment.
%
Korn Shell 93 - Built-in Commands
typeset -t vname
Tags the variables. Tags are user definable and have no special meaning
to the shell.
Using + rather than - causes this option to be turned off.
%
Korn Shell 93 - Built-in Commands
typeset -u vname
All lower-case characters are converted to upper-case. The lower-case
option, -l, is turned off.
Using + rather than - causes this option to be turned off.
%
Korn Shell 93 - Built-in Commands
typeset -x vname
The given vnames are marked for automatic export to the environment of
subsequently-executed commands. Variables whose names contain a .
cannot be exported.
Using + rather than - causes these options to be turned off.
%
Korn Shell 93 - Built-in Commands
ulimit [ -HSacdfmnpstv ] [ limit ]
Set or display a resource limit.
%
Korn Shell 93 - Built-in Commands - ulimit
ulimit -a
Lists all of the current resource limits.
%
Korn Shell 93 - Built-in Commands - ulimit
ulimit -c
The number of 512-byte blocks on the size of core dumps.
%
Korn Shell 93 - Built-in Commands - ulimit
ulimit -d
The number of K-bytes on the size of the data area.
%
Korn Shell 93 - Built-in Commands - ulimit
ulimit -f
The number of 512-byte blocks on files that can be written by the
current process or by child processes (files of any size may be read).
%
Korn Shell 93 - Built-in Commands - ulimit
ulimit -m
The number of K-bytes on the size of physical memory.
%
Korn Shell 93 - Built-in Commands - ulimit
ulimit -n
The number of file descriptors plus 1.
%
Korn Shell 93 - Built-in Commands - ulimit
ulimit -p
The number of 512-byte blocks for pipe buffering.
%
Korn Shell 93 - Built-in Commands - ulimit
ulimit -s
The number of K-bytes on the size of the stack area.
%
Korn Shell 93 - Built-in Commands - ulimit
ulimit -t
The number of CPU seconds to be used by each process.
%
Korn Shell 93 - Built-in Commands - ulimit
ulimit -v
The number of K-bytes for virtual memory.
%
Korn Shell 93 - Built-in Commands
umask [ -S ] [ mask ]
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 symbolic value is given, the new umask value is the complement of
the result of applying mask to the complement of the previous umask
value. If mask is omitted, the current value of the mask is printed.
The -S option causes the mode to be printed as a symbolic value.
Otherwise, the mask is printed in octal.
%
Korn Shell 93 - Built-in Commands
unalias [ -a ] name ...
The aliases given by the list of names are removed from the alias list.
The -a option causes all the aliases to be unset.
%
Korn Shell 93 - Built-in Commands
unset [ -fnv ] vname ...
The variables given by the list of vnames are unassigned, i.e., their
values and attributes are erased. Readonly variables cannot be unset.
If the -f option is set, then the names refer to function names. If the
-v option is set, then the names refer to variable names. The -f option
overrides -v. If -n is set and name is a name reference, then name will
be unset rather than the variable that it references. The default is
equivalent to -v. Unsetting LINENO, MAILCHECK, OPTARG, OPTIND, RANDOM,
SECONDS, TMOUT, and _ removes their special meaning even if they are
subsequently assigned to.
%
Korn Shell 93 - Built-in Commands
wait [ job ... ]
Wait for the specified job and report its termination status. If job is
not given, then all currently active child processes are waited for.
The exit status from this command is that of the last process waited
for. See Jobs for a description of the format of job.
%
Korn Shell 93 - Built-in Commands
whence [ -afpv ] name ...
For each name, indicate how it would be interpreted if used as a command
name. The -v option produces a more verbose report. The -f options
skips the search for functions. The -p option does a path search for
name even if name is an alias, a function, or a reserved word. The -a
option is similar to the -v option but causes all interpretations of the
given name to be reported.