mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-11-19 13:33:52 +01:00
1228 lines
47 KiB
Plaintext
1228 lines
47 KiB
Plaintext
texinode(Parameters)(Options)(Expansion)(Top)
|
|
chapter(Parameters)
|
|
cindex(parameters)
|
|
sect(Description)
|
|
A parameter has a name, a value, and a number of attributes.
|
|
A name may be any sequence of alphanumeric
|
|
characters and underscores, or the single characters
|
|
`tt(*)', `tt(@)', `tt(#)', `tt(?)', `tt(-)', `tt($)', or `tt(!)'.
|
|
The value may be a em(scalar) (a string),
|
|
an integer, an array (indexed numerically), or an em(associative)
|
|
array (an unordered set of name-value pairs, indexed by name). To declare
|
|
the type of a parameter, or to assign a scalar or integer value to a
|
|
parameter, use the tt(typeset) builtin.
|
|
findex(typeset, use of)
|
|
|
|
The value of a scalar or integer parameter may also be assigned by
|
|
writing:
|
|
cindex(assignment)
|
|
|
|
indent(var(name)tt(=)var(value))
|
|
|
|
If the integer attribute, tt(-i), is set for var(name), the var(value)
|
|
is subject to arithmetic evaluation. Furthermore, by replacing `tt(=)'
|
|
with `tt(+=)', a parameter can be added or appended to. See
|
|
noderef(Array Parameters) for additional forms of assignment.
|
|
|
|
To refer to the value of a parameter, write `tt($)var(name)' or
|
|
`tt(${)var(name)tt(})'. See
|
|
ifzman(em(Parameter Expansion) in zmanref(zshexpn))\
|
|
ifnzman(noderef(Parameter Expansion))
|
|
for complete details.
|
|
|
|
In the parameter lists that follow, the mark `<S>' indicates that the
|
|
parameter is special.
|
|
Special parameters cannot have their type changed or their
|
|
readonly attribute turned off, and if a special parameter is unset, then
|
|
later recreated, the special properties will be retained. `<Z>' indicates
|
|
that the parameter does not exist when the shell initializes in tt(sh) or
|
|
tt(ksh) emulation mode.
|
|
startmenu()
|
|
menu(Array Parameters)
|
|
menu(Positional Parameters)
|
|
menu(Local Parameters)
|
|
menu(Parameters Set By The Shell)
|
|
menu(Parameters Used By The Shell)
|
|
endmenu()
|
|
texinode(Array Parameters)(Positional Parameters)()(Parameters)
|
|
sect(Array Parameters)
|
|
To assign an array value, write one of:
|
|
findex(set, use of)
|
|
cindex(array assignment)
|
|
|
|
indent(tt(set -A) var(name) var(value) ...)
|
|
indent(var(name)tt(=LPAR())var(value) ...tt(RPAR()))
|
|
|
|
If no parameter var(name) exists, an ordinary array parameter is created.
|
|
If the parameter var(name) exists and is a scalar, it is replaced by a new
|
|
array. Ordinary array parameters may also be explicitly declared with:
|
|
findex(typeset, use of)
|
|
|
|
indent(tt(typeset -a) var(name))
|
|
|
|
Associative arrays em(must) be declared before assignment, by using:
|
|
|
|
indent(tt(typeset -A) var(name))
|
|
|
|
When var(name) refers to an associative array, the list in an assignment
|
|
is interpreted as alternating keys and values:
|
|
|
|
indent(set -A var(name) var(key) var(value) ...)
|
|
indent(var(name)tt(=LPAR())var(key) var(value) ...tt(RPAR()))
|
|
|
|
Every var(key) must have a var(value) in this case. Note that this
|
|
assigns to the entire array, deleting any elements that do not appear
|
|
in the list.
|
|
|
|
To create an empty array (including associative arrays), use one of:
|
|
|
|
indent(tt(set -A) var(name))
|
|
indent(var(name)tt(=LPAR()RPAR()))
|
|
|
|
subsect(Array Subscripts)
|
|
cindex(subscripts)
|
|
|
|
Individual elements of an array may be selected using a subscript. A
|
|
subscript of the form `tt([)var(exp)tt(])' selects the single element
|
|
var(exp), where var(exp) is an arithmetic expression which will be subject
|
|
to arithmetic expansion as if it were surrounded by
|
|
`tt($LPAR()LPAR())...tt(RPAR()RPAR())'. The elements are numbered
|
|
beginning with 1, unless the tt(KSH_ARRAYS) option is set in which case
|
|
they are numbered from zero.
|
|
pindex(KSH_ARRAYS, use of)
|
|
|
|
Subscripts may be used inside braces used to delimit a parameter name, thus
|
|
`tt(${foo[2]})' is equivalent to `tt($foo[2])'. If the tt(KSH_ARRAYS)
|
|
option is set, the braced form is the only one that works, as bracketed
|
|
expressions otherwise are not treated as subscripts.
|
|
|
|
The same subscripting syntax is used for associative arrays, except that
|
|
no arithmetic expansion is applied to var(exp). However, the parsing
|
|
rules for arithmetic expressions still apply, which affects the way that
|
|
certain special characters must be protected from interpretation. See
|
|
em(Subscript Parsing) below for details.
|
|
|
|
A subscript of the form `tt([*])' or `tt([@])' evaluates to all elements
|
|
of an array; there is no difference between the two except when they
|
|
appear within double quotes.
|
|
`tt("$foo[*]")' evaluates to `tt("$foo[1] $foo[2] )...tt(")', whereas
|
|
`tt("$foo[@]")' evaluates to `tt("$foo[1]" "$foo[2]" )...'. For
|
|
associative arrays, `tt([*])' or `tt([@])' evaluate to all the values,
|
|
in no particular order. Note that this does not substitute
|
|
the keys; see the documentation for the `tt(k)' flag under
|
|
ifzman(em(Parameter Expansion Flags) in zmanref(zshexpn))\
|
|
ifnzman(noderef(Parameter Expansion))
|
|
for complete details.
|
|
When an array parameter is referenced as `tt($)var(name)' (with no
|
|
subscript) it evaluates to `tt($)var(name)tt([*])', unless the tt(KSH_ARRAYS)
|
|
option is set in which case it evaluates to `tt(${)var(name)tt([0]})' (for
|
|
an associative array, this means the value of the key `tt(0)', which may
|
|
not exist even if there are values for other keys).
|
|
|
|
A subscript of the form `tt([)var(exp1)tt(,)var(exp2)tt(])'
|
|
selects all elements in the range var(exp1) to var(exp2),
|
|
inclusive. (Associative arrays are unordered, and so do not support
|
|
ranges.) If one of the subscripts evaluates to a negative number,
|
|
say tt(-)var(n), then the var(n)th element from the end
|
|
of the array is used. Thus `tt($foo[-3])' is the third element
|
|
from the end of the array tt(foo), and
|
|
`tt($foo[1,-1])' is the same as `tt($foo[*])'.
|
|
|
|
Subscripting may also be performed on non-array values, in which
|
|
case the subscripts specify a substring to be extracted.
|
|
For example, if tt(FOO) is set to `tt(foobar)', then
|
|
`tt(echo $FOO[2,5])' prints `tt(ooba)'.
|
|
|
|
subsect(Array Element Assignment)
|
|
|
|
A subscript may be used on the left side of an assignment like so:
|
|
|
|
indent(var(name)tt([)var(exp)tt(]=)var(value))
|
|
|
|
In this form of assignment the element or range specified by var(exp)
|
|
is replaced by the expression on the right side. An array (but not an
|
|
associative array) may be created by assignment to a range or element.
|
|
Arrays do not nest, so assigning a parenthesized list of values to an
|
|
element or range changes the number of elements in the array, shifting the
|
|
other elements to accommodate the new values. (This is not supported for
|
|
associative arrays.)
|
|
|
|
This syntax also works as an argument to the tt(typeset) command:
|
|
|
|
indent(tt(typeset) tt(")var(name)tt([)var(exp)tt(]"=)var(value))
|
|
|
|
The var(value) may em(not) be a parenthesized list in this case; only
|
|
single-element assignments may be made with tt(typeset). Note that quotes
|
|
are necessary in this case to prevent the brackets from being interpreted
|
|
as filename generation operators. The tt(noglob) precommand modifier
|
|
could be used instead.
|
|
|
|
To delete an element of an ordinary array, assign `tt(LPAR()RPAR())' to
|
|
that element. To delete an element of an associative array, use the
|
|
tt(unset) command:
|
|
|
|
indent(tt(unset) tt(")var(name)tt([)var(exp)tt(]"))
|
|
|
|
subsect(Subscript Flags)
|
|
cindex(subscript flags)
|
|
|
|
If the opening bracket, or the comma in a range, in any subscript
|
|
expression is directly followed by an opening parenthesis, the string up
|
|
to the matching closing one is considered to be a list of flags, as in
|
|
`var(name)tt([LPAR())var(flags)tt(RPAR())var(exp)tt(])'. The flags
|
|
currently understood are:
|
|
|
|
startitem()
|
|
item(tt(w))(
|
|
If the parameter subscripted is a scalar than this flag makes
|
|
subscripting work on words instead of characters. The default word
|
|
separator is whitespace.
|
|
)
|
|
item(tt(s:)var(string)tt(:))(
|
|
This gives the var(string) that separates words (for use with the
|
|
tt(w) flag).
|
|
)
|
|
item(tt(p))(
|
|
Recognize the same escape sequences as the tt(print) builtin in
|
|
the string argument of a subsequent `tt(s)' flag.
|
|
)
|
|
item(tt(f))(
|
|
If the parameter subscripted is a scalar than this flag makes
|
|
subscripting work on lines instead of characters, i.e. with elements
|
|
separated by newlines. This is a shorthand for `tt(pws:\n:)'.
|
|
)
|
|
item(tt(r))(
|
|
Reverse subscripting: if this flag is given, the var(exp) is taken as a
|
|
pattern and the result is the first matching array element, substring or
|
|
word (if the parameter is an array, if it is a scalar, or if it is a
|
|
scalar and the `tt(w)' flag is given, respectively). The subscript used
|
|
is the number of the matching element, so that pairs of subscripts such as
|
|
`tt($foo[(r))var(??)tt(,3])' and `tt($foo[(r))var(??)tt(,(r)f*])' are
|
|
possible if the parameter is not an associative array. If the
|
|
parameter is an associative array, only the value part of each pair is
|
|
compared to the pattern, and the result is that value.
|
|
)
|
|
item(tt(R))(
|
|
Like `tt(r)', but gives the last match. For associative arrays, gives
|
|
all possible matches. May be used for assigning to ordinary array
|
|
elements, but not for assigning to associative arrays.
|
|
)
|
|
item(tt(i))(
|
|
Like `tt(r)', but gives the index of the match instead; this may not be
|
|
combined with a second argument. On the left side of an assignment,
|
|
behaves like `tt(r)'. For associative arrays, the key part of each pair
|
|
is compared to the pattern, and the first matching key found is the
|
|
result.
|
|
)
|
|
item(tt(I))(
|
|
Like `tt(i)', but gives the index of the last match, or all possible
|
|
matching keys in an associative array.
|
|
)
|
|
item(tt(k))(
|
|
If used in a subscript on an associative array, this flag causes the keys
|
|
to be interpreted as patterns, and returns the value for the first key
|
|
found where var(exp) is matched by the key. This flag does not work on
|
|
the left side of an assignment to an associative array element. If used
|
|
on another type of parameter, this behaves like `tt(r)'.
|
|
)
|
|
item(tt(K))(
|
|
On an associative array this is like `tt(k)' but returns all values where
|
|
var(exp) is matched by the keys. On other types of parameters this has
|
|
the same effect as `tt(R)'.
|
|
)
|
|
item(tt(n:)var(expr)tt(:))(
|
|
If combined with `tt(r)', `tt(R)', `tt(i)' or `tt(I)', makes them give
|
|
the var(n)th or var(n)th last match (if var(expr) evaluates to
|
|
var(n)). This flag is ignored when the array is associative.
|
|
)
|
|
item(tt(b:)var(expr)tt(:))(
|
|
If combined with `tt(r)', `tt(R)', `tt(i)' or `tt(I)', makes them begin
|
|
at the var(n)th or var(n)th last element, word, or character (if var(expr)
|
|
evaluates to var(n)). This flag is ignored when the array is associative.
|
|
)
|
|
item(tt(e))(
|
|
This flag has no effect and for ordinary arrays is retained for backward
|
|
compatibility only. For associative arrays, this flag can be used to
|
|
force tt(*) or tt(@) to be interpreted as a single key rather than as a
|
|
reference to all values. This flag may be used on the left side of an
|
|
assignment.
|
|
)
|
|
enditem()
|
|
|
|
See em(Parameter Expansion Flags) (\
|
|
ifzman(zmanref(zshexpn))\
|
|
ifnzman(noderef(Parameter Expansion))\
|
|
) for additional ways to manipulate the results of array subscripting.
|
|
|
|
subsect(Subscript Parsing)
|
|
|
|
This discussion applies mainly to associative array key strings and to
|
|
patterns used for reverse subscripting (the `tt(r)', `tt(R)', `tt(i)',
|
|
etc. flags), but it may also affect parameter substitutions that appear
|
|
as part of an arithmetic expression in an ordinary subscript.
|
|
|
|
It is possible to avoid the use of subscripts in assignments to associative
|
|
array elements by using the syntax:
|
|
|
|
example(
|
|
aa+=('key with "*strange*" characters' 'value string')
|
|
)
|
|
|
|
This adds a new key/value pair if the key is not already present, and
|
|
replaces the value for the existing key if it is.
|
|
|
|
The basic rule to remember when writing a subscript expression is that all
|
|
text between the opening `tt([)' and the closing `tt(])' is interpreted
|
|
em(as if) it were in double quotes (\
|
|
ifzman(see zmanref(zshmisc))\
|
|
ifnzman(noderef(Quoting))\
|
|
). However, unlike double quotes which normally cannot nest, subscript
|
|
expressions may appear inside double-quoted strings or inside other
|
|
subscript expressions (or both!), so the rules have two important
|
|
differences.
|
|
|
|
The first difference is that brackets (`tt([)' and `tt(])') must appear as
|
|
balanced pairs in a subscript expression unless they are preceded by a
|
|
backslash (`tt(\)'). Therefore, within a subscript expression (and unlike
|
|
true double-quoting) the sequence `tt(\[)' becomes `tt([)', and similarly
|
|
`tt(\])' becomes `tt(])'. This applies even in cases where a backslash is
|
|
not normally required; for example, the pattern `tt([^[])' (to match any
|
|
character other than an open bracket) should be written `tt([^\[])' in a
|
|
reverse-subscript pattern. However, note that `tt(\[^\[\])' and even
|
|
`tt(\[^[])' mean the em(same) thing, because backslashes are always
|
|
stripped when they appear before brackets!
|
|
|
|
The same rule applies to parentheses (`tt(LPAR())' and `tt(RPAR())') and
|
|
braces (`tt({)' and `tt(})'): they must appear either in balanced pairs or
|
|
preceded by a backslash, and backslashes that protect parentheses or
|
|
braces are removed during parsing. This is because parameter expansions
|
|
may be surrounded balanced braces, and subscript flags are introduced by
|
|
balanced parenthesis.
|
|
|
|
The second difference is that a double-quote (`tt(")') may appear as part
|
|
of a subscript expression without being preceded by a backslash, and
|
|
therefore that the two characters `tt(\")' remain as two characters in the
|
|
subscript (in true double-quoting, `tt(\")' becomes `tt(")'). However,
|
|
because of the standard shell quoting rules, any double-quotes that appear
|
|
must occur in balanced pairs unless preceded by a backslash. This makes
|
|
it more difficult to write a subscript expression that contains an odd
|
|
number of double-quote characters, but the reason for this difference is
|
|
so that when a subscript expression appears inside true double-quotes, one
|
|
can still write `tt(\")' (rather than `tt(\\\")') for `tt(")'.
|
|
|
|
To use an odd number of double quotes as a key in an assignment, use the
|
|
tt(typeset) builtin and an enclosing pair of double quotes; to refer to
|
|
the value of that key, again use double quotes:
|
|
|
|
example(typeset -A aa
|
|
typeset "aa[one\"two\"three\"quotes]"=QQQ
|
|
print "$aa[one\"two\"three\"quotes]")
|
|
|
|
It is important to note that the quoting rules do not change when a
|
|
parameter expansion with a subscript is nested inside another subscript
|
|
expression. That is, it is not necessary to use additional backslashes
|
|
within the inner subscript expression; they are removed only once, from
|
|
the innermost subscript outwards. Parameters are also expanded from the
|
|
innermost subscript first, as each expansion is encountered left to right
|
|
in the outer expression.
|
|
|
|
A further complication arises from a way in which subscript parsing is
|
|
em(not) different from double quote parsing. As in true double-quoting,
|
|
the sequences `tt(\*)', and `tt(\@)' remain as two characters when they
|
|
appear in a subscript expression. To use a literal `tt(*)' or `tt(@)' as
|
|
an associative array key, the `tt(e)' flag must be used:
|
|
|
|
example(typeset -A aa
|
|
aa[(e)*]=star
|
|
print $aa[(e)*])
|
|
|
|
A last detail must be considered when reverse subscripting is performed.
|
|
Parameters appearing in the subscript expression are first expanded and
|
|
then the complete expression is interpreted as a pattern. This has two
|
|
effects: first, parameters behave as if tt(GLOB_SUBST) were on (and it
|
|
cannot be turned off); second, backslashes are interpreted twice, once
|
|
when parsing the array subscript and again when parsing the pattern. In a
|
|
reverse subscript, it's necessary to use em(four) backslashes to cause a
|
|
single backslash to match literally in the pattern. For complex patterns,
|
|
it is often easiest to assign the desired pattern to a parameter and then
|
|
refer to that parameter in the subscript, because then the backslashes,
|
|
brackets, parentheses, etc., are seen only when the complete expression is
|
|
converted to a pattern. To match the value of a parameter literally in a
|
|
reverse subscript, rather than as a pattern,
|
|
use `tt(${LPAR()q)tt(RPAR())var(name)tt(})' (\
|
|
ifzman(see zmanref(zshexpn))\
|
|
ifnzman(noderef(Parameter Expansion))\
|
|
) to quote the expanded value.
|
|
|
|
Note that the `tt(k)' and `tt(K)' flags are reverse subscripting for an
|
|
ordinary array, but are em(not) reverse subscripting for an associative
|
|
array! (For an associative array, the keys in the array itself are
|
|
interpreted as patterns by those flags; the subscript is a plain string
|
|
in that case.)
|
|
|
|
One final note, not directly related to subscripting: the numeric names
|
|
of positional parameters (\
|
|
ifzman(described below)\
|
|
ifnzman(noderef(Positional Parameters))\
|
|
) are parsed specially, so for example `tt($2foo)' is equivalent to
|
|
`tt(${2}foo)'. Therefore, to use subscript syntax to extract a substring
|
|
from a positional parameter, the expansion must be surrounded by braces;
|
|
for example, `tt(${2[3,5]})' evaluates to the third through fifth
|
|
characters of the second positional parameter, but `tt($2[3,5])' is the
|
|
entire second parameter concatenated with the filename generation pattern
|
|
`tt([3,5])'.
|
|
|
|
texinode(Positional Parameters)(Local Parameters)(Array Parameters)(Parameters)
|
|
sect(Positional Parameters)
|
|
The positional parameters provide access to the command-line arguments
|
|
of a shell function, shell script, or the shell itself; see
|
|
noderef(Invocation), and also noderef(Functions).
|
|
The parameter var(n), where var(n) is a number,
|
|
is the var(n)th positional parameter.
|
|
The parameters tt(*), tt(@) and tt(argv) are
|
|
arrays containing all the positional parameters;
|
|
thus `tt($argv[)var(n)tt(])', etc., is equivalent to simply `tt($)var(n)'.
|
|
|
|
Positional parameters may be changed after the shell or function starts by
|
|
using the tt(set) builtin, by assigning to the tt(argv) array, or by direct
|
|
assignment of the form `var(n)tt(=)var(value)' where var(n) is the number of
|
|
the positional parameter to be changed. This also creates (with empty
|
|
values) any of the positions from 1 to var(n) that do not already have
|
|
values. Note that, because the positional parameters form an array, an
|
|
array assignment of the form `var(n)tt(=LPAR())var(value) ...tt(RPAR())' is
|
|
allowed, and has the effect of shifting all the values at positions greater
|
|
than var(n) by as many positions as necessary to accommodate the new values.
|
|
|
|
texinode(Local Parameters)(Parameters Set By The Shell)(Positional Parameters)(Parameters)
|
|
sect(Local Parameters)
|
|
Shell function executions delimit scopes for shell parameters.
|
|
(Parameters are dynamically scoped.) The tt(typeset) builtin, and its
|
|
alternative forms tt(declare), tt(integer), tt(local) and tt(readonly)
|
|
(but not tt(export)), can be used to declare a parameter as being local
|
|
to the innermost scope.
|
|
|
|
When a parameter is read or assigned to, the
|
|
innermost existing parameter of that name is used. (That is, the
|
|
local parameter hides any less-local parameter.) However, assigning
|
|
to a non-existent parameter, or declaring a new parameter with tt(export),
|
|
causes it to be created in the em(outer)most scope.
|
|
|
|
Local parameters disappear when their scope ends.
|
|
tt(unset) can be used to delete a parameter while it is still in scope;
|
|
any outer parameter of the same name remains hidden.
|
|
|
|
Special parameters may also be made local; they retain their special
|
|
attributes unless either the existing or the newly-created parameter
|
|
has the tt(-h) (hide) attribute. This may have unexpected effects:
|
|
there is no default value, so if there is no assignment at the
|
|
point the variable is made local, it will be set to an empty value (or zero
|
|
in the case of integers).
|
|
The following:
|
|
|
|
example(typeset PATH=/new/directory:$PATH)
|
|
|
|
is valid for temporarily allowing the shell or programmes called from it to
|
|
find the programs in tt(/new/directory) inside a function.
|
|
|
|
Note that the restriction in older versions of zsh that local parameters
|
|
were never exported has been removed.
|
|
|
|
texinode(Parameters Set By The Shell)(Parameters Used By The Shell)(Local Parameters)(Parameters)
|
|
sect(Parameters Set By The Shell)
|
|
The following parameters are automatically set by the shell:
|
|
|
|
startitem()
|
|
vindex(!)
|
|
item(tt(!) <S>)(
|
|
The process ID of the last background command invoked.
|
|
)
|
|
vindex(#)
|
|
item(tt(#) <S>)(
|
|
The number of positional parameters in decimal. Note that some confusion
|
|
may occur with the syntax tt($#)var(param) which substitutes the length of
|
|
var(param). Use tt(${#}) to resolve ambiguities. In particular, the
|
|
sequence `tt($#-)var(...)' in an arithmetic expression is interpreted as
|
|
the length of the parameter tt(-), q.v.
|
|
)
|
|
vindex(ARGC)
|
|
item(tt(ARGC) <S> <Z>)(
|
|
Same as tt(#).
|
|
)
|
|
vindex($)
|
|
item(tt($) <S>)(
|
|
The process ID of this shell.
|
|
)
|
|
vindex(-)
|
|
item(tt(-) <S>)(
|
|
Flags supplied to the shell on invocation or by the tt(set)
|
|
or tt(setopt) commands.
|
|
)
|
|
vindex(*)
|
|
item(tt(*) <S>)(
|
|
An array containing the positional parameters.
|
|
)
|
|
vindex(argv)
|
|
item(tt(argv) <S> <Z>)(
|
|
Same as tt(*). Assigning to tt(argv) changes the local positional
|
|
parameters, but tt(argv) is em(not) itself a local parameter.
|
|
Deleting tt(argv) with tt(unset) in any function deletes it everywhere,
|
|
although only the innermost positional parameter array is deleted (so
|
|
tt(*) and tt(@) in other scopes are not affected).
|
|
)
|
|
vindex(@)
|
|
item(tt(@) <S>)(
|
|
Same as tt(argv[@]), even when tt(argv) is not set.
|
|
)
|
|
vindex(?)
|
|
item(tt(?) <S>)(
|
|
The exit status returned by the last command.
|
|
)
|
|
vindex(0)
|
|
item(tt(0) <S>)(
|
|
The name used to invoke the current shell. If the tt(FUNCTION_ARGZERO) option
|
|
is set, this is set temporarily within a shell function to the name of the
|
|
function, and within a sourced script to the name of the script.
|
|
)
|
|
vindex(status)
|
|
item(tt(status) <S> <Z>)(
|
|
Same as tt(?).
|
|
)
|
|
vindex(pipestatus)
|
|
item(tt(pipestatus) <S> <Z>)(
|
|
An array containing the exit statuses returned by all commands in the
|
|
last pipeline.
|
|
)
|
|
vindex(_)
|
|
item(tt(_) <S>)(
|
|
The last argument of the previous command.
|
|
Also, this parameter is set in the environment of every command
|
|
executed to the full pathname of the command.
|
|
)
|
|
vindex(CPUTYPE)
|
|
item(tt(CPUTYPE))(
|
|
The machine type (microprocessor class or machine model),
|
|
as determined at run time.
|
|
)
|
|
vindex(EGID)
|
|
item(tt(EGID) <S>)(
|
|
The effective group ID of the shell process. If you have sufficient
|
|
privileges, you may change the effective group ID of the shell
|
|
process by assigning to this parameter. Also (assuming sufficient
|
|
privileges), you may start a single command with a different
|
|
effective group ID by `tt(LPAR()EGID=)var(gid)tt(; command+RPAR())'
|
|
)
|
|
vindex(EUID)
|
|
item(tt(EUID) <S>)(
|
|
The effective user ID of the shell process. If you have sufficient
|
|
privileges, you may change the effective user ID of the shell process
|
|
by assigning to this parameter. Also (assuming sufficient privileges),
|
|
you may start a single command with a different
|
|
effective user ID by `tt(LPAR()EUID=)var(uid)tt(; command+RPAR())'
|
|
)
|
|
vindex(ERRNO)
|
|
item(tt(ERRNO) <S>)(
|
|
The value of errno (see manref(errno)(3))
|
|
as set by the most recently failed system call.
|
|
This value is system dependent and is intended for debugging
|
|
purposes. It is also useful with the tt(zsh/system) module which
|
|
allows the number to be turned into a name or message.
|
|
)
|
|
vindex(GID)
|
|
item(tt(GID) <S>)(
|
|
The real group ID of the shell process. If you have sufficient privileges,
|
|
you may change the group ID of the shell process by assigning to this
|
|
parameter. Also (assuming sufficient privileges), you may start a single
|
|
command under a different
|
|
group ID by `tt(LPAR()GID=)var(gid)tt(; command+RPAR())'
|
|
)
|
|
vindex(HISTCMD)
|
|
item(tt(HISTCMD))(
|
|
The current history line number in an interactive shell, in other
|
|
words the line number for the command that caused tt($HISTCMD)
|
|
to be read.
|
|
)
|
|
vindex(HOST)
|
|
item(tt(HOST))(
|
|
The current hostname.
|
|
)
|
|
vindex(LINENO)
|
|
item(tt(LINENO) <S>)(
|
|
The line number of the current line within the current script, sourced
|
|
file, or shell function being executed, whichever was started most
|
|
recently. Note that in the case of shell functions the line
|
|
number refers to the function as it appeared in the original definition,
|
|
not necessarily as displayed by the tt(functions) builtin.
|
|
)
|
|
vindex(LOGNAME)
|
|
item(tt(LOGNAME))(
|
|
If the corresponding variable is not set in the environment of the
|
|
shell, it is initialized to the login name corresponding to the
|
|
current login session. This parameter is exported by default but
|
|
this can be disabled using the tt(typeset) builtin.
|
|
)
|
|
vindex(MACHTYPE)
|
|
item(tt(MACHTYPE))(
|
|
The machine type (microprocessor class or machine model),
|
|
as determined at compile time.
|
|
)
|
|
vindex(OLDPWD)
|
|
item(tt(OLDPWD))(
|
|
The previous working directory. This is set when the shell initializes
|
|
and whenever the directory changes.
|
|
)
|
|
vindex(OPTARG)
|
|
item(tt(OPTARG) <S>)(
|
|
The value of the last option argument processed by the tt(getopts)
|
|
command.
|
|
)
|
|
vindex(OPTIND)
|
|
item(tt(OPTIND) <S>)(
|
|
The index of the last option argument processed by the tt(getopts)
|
|
command.
|
|
)
|
|
vindex(OSTYPE)
|
|
item(tt(OSTYPE))(
|
|
The operating system, as determined at compile time.
|
|
)
|
|
vindex(PPID)
|
|
item(tt(PPID) <S>)(
|
|
The process ID of the parent of the shell.
|
|
)
|
|
vindex(PWD)
|
|
item(tt(PWD))(
|
|
The present working directory. This is set when the shell initializes
|
|
and whenever the directory changes.
|
|
)
|
|
vindex(RANDOM)
|
|
item(tt(RANDOM) <S>)(
|
|
A pseudo-random integer from 0 to 32767, newly generated each time
|
|
this parameter is referenced. The random number generator
|
|
can be seeded by assigning a numeric value to tt(RANDOM).
|
|
|
|
The values of tt(RANDOM) form an intentionally-repeatable pseudo-random
|
|
sequence; subshells that reference tt(RANDOM) will result
|
|
in identical pseudo-random values unless the value of tt(RANDOM) is
|
|
referenced or seeded in the parent shell in between subshell invocations.
|
|
)
|
|
vindex(SECONDS)
|
|
item(tt(SECONDS) <S>)(
|
|
The number of seconds since shell invocation. If this parameter
|
|
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.
|
|
|
|
Unlike other special parameters, the type of the tt(SECONDS) parameter can
|
|
be changed using the tt(typeset) command. Only integer and one of the
|
|
floating point types are allowed. For example, `tt(typeset -F SECONDS)'
|
|
causes the value to be reported as a floating point number. The precision
|
|
is six decimal places, although not all places may be useful.
|
|
)
|
|
vindex(SHLVL)
|
|
item(tt(SHLVL) <S>)(
|
|
Incremented by one each time a new shell is started.
|
|
)
|
|
vindex(signals)
|
|
item(tt(signals))(
|
|
An array containing the names of the signals.
|
|
)
|
|
vindex(TRY_BLOCK_ERROR)
|
|
item(tt(TRY_BLOCK_ERROR) <S>)(
|
|
In an tt(always) block, indicates whether the preceding list of code
|
|
caused an error. The value is 1 to indicate an error, 0 otherwise.
|
|
It may be reset, clearing the error condition. See
|
|
ifzman(em(Complex Commands) in zmanref(zshmisc))\
|
|
ifnzman(noderef(Complex Commands))
|
|
)
|
|
vindex(TTY)
|
|
item(tt(TTY))(
|
|
The name of the tty associated with the shell, if any.
|
|
)
|
|
vindex(TTYIDLE)
|
|
item(tt(TTYIDLE) <S>)(
|
|
The idle time of the tty associated with the shell in seconds or -1 if there
|
|
is no such tty.
|
|
)
|
|
vindex(UID)
|
|
item(tt(UID) <S>)(
|
|
The real user ID of the shell process. If you have sufficient privileges,
|
|
you may change the user ID of the shell by assigning to this parameter.
|
|
Also (assuming sufficient privileges), you may start a single command
|
|
under a different
|
|
user ID by `tt(LPAR()UID=)var(uid)tt(; command+RPAR())'
|
|
)
|
|
vindex(USERNAME)
|
|
item(tt(USERNAME) <S>)(
|
|
The username corresponding to the real user ID of the shell process. If you
|
|
have sufficient privileges, you may change the username (and also the
|
|
user ID and group ID) of the shell by assigning to this parameter.
|
|
Also (assuming sufficient privileges), you may start a single command
|
|
under a different username (and user ID and group ID)
|
|
by `tt(LPAR()USERNAME=)var(username)tt(; command+RPAR())'
|
|
)
|
|
vindex(VENDOR)
|
|
item(tt(VENDOR))(
|
|
The vendor, as determined at compile time.
|
|
)
|
|
vindex(ZSH_NAME)
|
|
item(tt(ZSH_NAME))(
|
|
Expands to the basename of the command used to invoke this instance
|
|
of zsh.
|
|
)
|
|
vindex(ZSH_VERSION)
|
|
item(tt(ZSH_VERSION))(
|
|
The version number of this zsh.
|
|
)
|
|
enditem()
|
|
texinode(Parameters Used By The Shell)()(Parameters Set By The Shell)(Parameters)
|
|
sect(Parameters Used By The Shell)
|
|
The following parameters are used by the shell.
|
|
|
|
In cases where there are two parameters with an upper- and lowercase
|
|
form of the same name, such as tt(path) and tt(PATH), the lowercase form
|
|
is an array and the uppercase form is a scalar with the elements of the
|
|
array joined together by colons. These are similar to tied parameters
|
|
created via `tt(typeset -T)'. The normal use for the colon-separated
|
|
form is for exporting to the environment, while the array form is easier
|
|
to manipulate within the shell. Note that unsetting either of the pair
|
|
will unset the other; they retain their special properties when
|
|
recreated, and recreating one of the pair will recreate the other.
|
|
|
|
startitem()
|
|
vindex(ARGV0)
|
|
item(tt(ARGV0))(
|
|
If exported, its value is used as the tt(argv[0]) of external commands.
|
|
Usually used in constructs like `tt(ARGV0=emacs nethack)'.
|
|
)
|
|
vindex(BAUD)
|
|
item(tt(BAUD))(
|
|
The baud rate of the current connection. Used by the line editor
|
|
update mechanism to compensate for a slow terminal by delaying
|
|
updates until necessary. This may be profitably set to a lower value
|
|
in some circumstances, e.g.
|
|
for slow modems dialing into a communications server which is connected
|
|
to a host via a fast link; in this case, this variable
|
|
would be set by default to the speed of the fast link, and not
|
|
the modem.
|
|
This parameter should be set to the baud
|
|
rate of the slowest part of the link for best performance. The compensation
|
|
mechanism can be turned off by setting the variable to zero.
|
|
)
|
|
vindex(cdpath)
|
|
vindex(CDPATH)
|
|
item(tt(cdpath) <S> <Z> (tt(CDPATH) <S>))(
|
|
An array (colon-separated list)
|
|
of directories specifying the search path for the tt(cd) command.
|
|
)
|
|
vindex(COLUMNS)
|
|
item(tt(COLUMNS) <S>)(
|
|
The number of columns for this terminal session.
|
|
Used for printing select lists and for the line editor.
|
|
)
|
|
vindex(DIRSTACKSIZE)
|
|
item(tt(DIRSTACKSIZE))(
|
|
The maximum size of the directory stack. If the
|
|
stack gets larger than this, it will be truncated automatically.
|
|
This is useful with the tt(AUTO_PUSHD) option.
|
|
pindex(AUTO_PUSHD, use of)
|
|
)
|
|
vindex(ENV)
|
|
item(tt(ENV))(
|
|
If the tt(ENV) environment variable is set when zsh is invoked as tt(sh)
|
|
or tt(ksh), tt($ENV) is sourced after the profile scripts. The value of
|
|
tt(ENV) is subjected to parameter expansion, command substitution, and
|
|
arithmetic expansion before being interpreted as a pathname. Note that
|
|
tt(ENV) is em(not) used unless zsh is emulating bf(sh) or bf(ksh).
|
|
)
|
|
vindex(FCEDIT)
|
|
item(tt(FCEDIT))(
|
|
The default editor for the tt(fc) builtin.
|
|
)
|
|
vindex(fignore)
|
|
vindex(FIGNORE)
|
|
item(tt(fignore) <S> <Z> (tt(FIGNORE) <S>))(
|
|
An array (colon separated list)
|
|
containing the suffixes of files to be ignored
|
|
during filename completion. However, if completion only generates files
|
|
with suffixes in this list, then these files are completed anyway.
|
|
)
|
|
vindex(fpath)
|
|
vindex(FPATH)
|
|
item(tt(fpath) <S> <Z> (tt(FPATH) <S>))(
|
|
An array (colon separated list)
|
|
of directories specifying the search path for
|
|
function definitions. This path is searched when a function
|
|
with the tt(-u) attribute is referenced. If an executable
|
|
file is found, then it is read and executed in the current environment.
|
|
)
|
|
vindex(histchars)
|
|
item(tt(histchars) <S>)(
|
|
Three characters used by the shell's history and lexical analysis
|
|
mechanism. The first character signals the start of a history
|
|
expansion (default `tt(!)'). The second character signals the
|
|
start of a quick history substitution (default `tt(^)'). The third
|
|
character is the comment character (default `tt(#)').
|
|
)
|
|
vindex(HISTCHARS)
|
|
item(tt(HISTCHARS) <S> <Z>)(
|
|
Same as tt(histchars). (Deprecated.)
|
|
)
|
|
vindex(HISTFILE)
|
|
item(tt(HISTFILE))(
|
|
The file to save the history in when an interactive shell exits.
|
|
If unset, the history is not saved.
|
|
)
|
|
vindex(HISTSIZE)
|
|
item(tt(HISTSIZE) <S>)(
|
|
The maximum number of events stored in the internal history list.
|
|
If you use the tt(HIST_EXPIRE_DUPS_FIRST) option, setting this value
|
|
larger than the tt(SAVEHIST) size will give you the difference as a
|
|
cushion for saving duplicated history events.
|
|
)
|
|
vindex(HOME)
|
|
item(tt(HOME) <S>)(
|
|
The default argument for the tt(cd) command.
|
|
)
|
|
vindex(IFS)
|
|
item(tt(IFS) <S>)(
|
|
Internal field separators (by default space, tab, newline and NUL), that
|
|
are used to separate words which result from
|
|
command or parameter expansion and words read by
|
|
the tt(read) builtin. Any characters from the set space, tab and
|
|
newline that appear in the IFS are called em(IFS white space).
|
|
One or more IFS white space characters or one non-IFS white space
|
|
character together with any adjacent IFS white space character delimit
|
|
a field. If an IFS white space character appears twice consecutively
|
|
in the IFS, this character is treated as if it were not an IFS white
|
|
space character.
|
|
)
|
|
vindex(KEYTIMEOUT)
|
|
item(tt(KEYTIMEOUT))(
|
|
The time the shell waits, in hundredths of seconds, for another key to
|
|
be pressed when reading bound multi-character sequences.
|
|
)
|
|
vindex(LANG)
|
|
item(tt(LANG) <S>)(
|
|
This variable determines the locale category for any category not
|
|
specifically selected via a variable starting with `tt(LC_)'.
|
|
)
|
|
vindex(LC_ALL)
|
|
item(tt(LC_ALL) <S>)(
|
|
This variable overrides the value of the `tt(LANG)' variable and the value
|
|
of any of the other variables starting with `tt(LC_)'.
|
|
)
|
|
vindex(LC_COLLATE)
|
|
item(tt(LC_COLLATE) <S>)(
|
|
This variable determines the locale category for character collation
|
|
information within ranges in glob brackets and for sorting.
|
|
)
|
|
vindex(LC_CTYPE)
|
|
item(tt(LC_CTYPE) <S>)(
|
|
This variable determines the locale category for character handling
|
|
functions.
|
|
)
|
|
vindex(LC_MESSAGES)
|
|
item(tt(LC_MESSAGES) <S>)(
|
|
This variable determines the language in which messages should be
|
|
written. Note that zsh does not use message catalogs.
|
|
)
|
|
vindex(LC_NUMERIC)
|
|
item(tt(LC_NUMERIC) <S>)(
|
|
This variable affects the decimal point character and thousands
|
|
separator character for the formatted input/output functions
|
|
and string conversion functions. Note that zsh ignores this
|
|
setting when parsing floating point mathematical expressions.
|
|
)
|
|
vindex(LC_TIME)
|
|
item(tt(LC_TIME) <S>)(
|
|
This variable determines the locale category for date and time
|
|
formatting in prompt escape sequences.
|
|
)
|
|
vindex(LINES)
|
|
item(tt(LINES) <S>)(
|
|
The number of lines for this terminal session.
|
|
Used for printing select lists and for the line editor.
|
|
)
|
|
vindex(LISTMAX)
|
|
item(tt(LISTMAX))(
|
|
In the line editor, the number of matches to list without asking
|
|
first. If the value is negative, the list will be shown if it spans at
|
|
most as many lines as given by the absolute value.
|
|
If set to zero, the shell asks only if the top of the listing would scroll
|
|
off the screen.
|
|
)
|
|
vindex(LOGCHECK)
|
|
item(tt(LOGCHECK))(
|
|
The interval in seconds between checks for login/logout activity
|
|
using the tt(watch) parameter.
|
|
)
|
|
vindex(MAIL)
|
|
item(tt(MAIL))(
|
|
If this parameter is set and tt(mailpath) is not set,
|
|
the shell looks for mail in the specified file.
|
|
)
|
|
vindex(MAILCHECK)
|
|
item(tt(MAILCHECK))(
|
|
The interval in seconds between checks for new mail.
|
|
)
|
|
vindex(mailpath)
|
|
vindex(MAILPATH)
|
|
item(tt(mailpath) <S> <Z> (tt(MAILPATH) <S>))(
|
|
An array (colon-separated list) of filenames to check for
|
|
new mail. Each filename can be followed by a `tt(?)' and a
|
|
message that will be printed. The message will undergo
|
|
parameter expansion, command substitution and arithmetic
|
|
expansion with the variable tt($_) defined as the name
|
|
of the file that has changed. The default message is
|
|
`tt(You have new mail)'. If an element is a directory
|
|
instead of a file the shell will recursively check every
|
|
file in every subdirectory of the element.
|
|
)
|
|
vindex(manpath)
|
|
vindex(MANPATH)
|
|
item(tt(manpath) <S> <Z> (tt(MANPATH) <S> <Z>))(
|
|
An array (colon-separated list)
|
|
whose value is not used by the shell. The tt(manpath)
|
|
array can be useful, however, since setting it also sets
|
|
tt(MANPATH), and vice versa.
|
|
)
|
|
vindex(module_path)
|
|
vindex(MODULE_PATH)
|
|
item(tt(module_path) <S> <Z> (tt(MODULE_PATH) <S>))(
|
|
An array (colon-separated list)
|
|
of directories that tt(zmodload)
|
|
searches for dynamically loadable modules.
|
|
This is initialized to a standard pathname,
|
|
usually `tt(/usr/local/lib/zsh/$ZSH_VERSION)'.
|
|
(The `tt(/usr/local/lib)' part varies from installation to installation.)
|
|
For security reasons, any value set in the environment when the shell
|
|
is started will be ignored.
|
|
|
|
These parameters only exist if the installation supports dynamic
|
|
module loading.
|
|
)
|
|
vindex(NULLCMD)
|
|
cindex(null command style)
|
|
cindex(csh, null command style)
|
|
cindex(ksh, null command style)
|
|
item(tt(NULLCMD) <S>)(
|
|
The command name to assume if a redirection is specified
|
|
with no command. Defaults to tt(cat). For bf(sh)/bf(ksh)
|
|
behavior, change this to tt(:). For bf(csh)-like
|
|
behavior, unset this parameter; the shell will print an
|
|
error message if null commands are entered.
|
|
)
|
|
vindex(path)
|
|
vindex(PATH)
|
|
item(tt(path) <S> <Z> (tt(PATH) <S>))(
|
|
An array (colon-separated list)
|
|
of directories to search for commands.
|
|
When this parameter is set, each directory is scanned
|
|
and all files found are put in a hash table.
|
|
)
|
|
vindex(POSTEDIT)
|
|
item(tt(POSTEDIT) <S>)(
|
|
This string is output whenever the line editor exits.
|
|
It usually contains termcap strings to reset the terminal.
|
|
)
|
|
vindex(PROMPT)
|
|
xitem(tt(PROMPT) <S> <Z>)
|
|
vindex(PROMPT2)
|
|
xitem(tt(PROMPT2) <S> <Z>)
|
|
vindex(PROMPT3)
|
|
xitem(tt(PROMPT3) <S> <Z>)
|
|
vindex(PROMPT4)
|
|
item(tt(PROMPT4) <S> <Z>)(
|
|
Same as tt(PS1), tt(PS2), tt(PS3) and tt(PS4),
|
|
respectively.
|
|
)
|
|
vindex(prompt)
|
|
item(tt(prompt) <S> <Z>)(
|
|
Same as tt(PS1).
|
|
)
|
|
vindex(PS1)
|
|
item(tt(PS1) <S>)(
|
|
The primary prompt string, printed before a command is read.
|
|
the default is `tt(%m%# )'. It undergoes a special form of expansion
|
|
before being displayed; see noderef(Prompt Expansion).
|
|
)
|
|
vindex(PS2)
|
|
item(tt(PS2) <S>)(
|
|
The secondary prompt, printed when the shell needs more information
|
|
to complete a command.
|
|
It is expanded in the same way as tt(PS1).
|
|
The default is `tt(%_> )', which displays any shell constructs or quotation
|
|
marks which are currently being processed.
|
|
)
|
|
vindex(PS3)
|
|
item(tt(PS3) <S>)(
|
|
Selection prompt used within a tt(select) loop.
|
|
It is expanded in the same way as tt(PS1).
|
|
The default is `tt(?# )'.
|
|
)
|
|
vindex(PS4)
|
|
item(tt(PS4) <S>)(
|
|
The execution trace prompt. Default is `tt(PLUS()%N:%i> )', which displays
|
|
the name of the current shell structure and the line number within it.
|
|
In sh or ksh emulation, the default is `tt(PLUS() )'.
|
|
)
|
|
vindex(psvar)
|
|
vindex(PSVAR)
|
|
item(tt(psvar) <S> <Z> (tt(PSVAR) <S>))(
|
|
An array (colon-separated list) whose first nine values can be used in
|
|
tt(PROMPT) strings. Setting tt(psvar) also sets tt(PSVAR), and
|
|
vice versa.
|
|
)
|
|
vindex(READNULLCMD)
|
|
item(tt(READNULLCMD) <S>)(
|
|
The command name to assume if a single input redirection
|
|
is specified with no command. Defaults to tt(more).
|
|
)
|
|
vindex(REPORTTIME)
|
|
item(tt(REPORTTIME))(
|
|
If nonnegative, commands whose combined user and system execution times
|
|
(measured in seconds) are greater than this value have timing
|
|
statistics printed for them.
|
|
)
|
|
vindex(REPLY)
|
|
item(tt(REPLY))(
|
|
This parameter is reserved by convention to pass string values between
|
|
shell scripts and shell builtins in situations where a function call or
|
|
redirection are impossible or undesirable. The tt(read) builtin and the
|
|
tt(select) complex command may set tt(REPLY), and filename generation both
|
|
sets and examines its value when evaluating certain expressions. Some
|
|
modules also employ tt(REPLY) for similar purposes.
|
|
)
|
|
vindex(reply)
|
|
item(tt(reply))(
|
|
As tt(REPLY), but for array values rather than strings.
|
|
)
|
|
vindex(RPROMPT)
|
|
xitem(tt(RPROMPT) <S>)
|
|
vindex(RPS1)
|
|
item(tt(RPS1) <S>)(
|
|
This prompt is displayed on the right-hand side of the screen
|
|
when the primary prompt is being displayed on the left.
|
|
This does not work if the tt(SINGLELINEZLE) option is set.
|
|
It is expanded in the same way as tt(PS1).
|
|
)
|
|
vindex(RPROMPT2)
|
|
xitem(tt(RPROMPT2) <S>)
|
|
vindex(RPS2)
|
|
item(tt(RPS2) <S>)(
|
|
This prompt is displayed on the right-hand side of the screen
|
|
when the secondary prompt is being displayed on the left.
|
|
This does not work if the tt(SINGLELINEZLE) option is set.
|
|
It is expanded in the same way as tt(PS2).
|
|
)
|
|
vindex(SAVEHIST)
|
|
item(tt(SAVEHIST))(
|
|
The maximum number of history events to save in the history file.
|
|
)
|
|
vindex(SPROMPT)
|
|
item(tt(SPROMPT) <S>)(
|
|
The prompt used for spelling correction. The sequence
|
|
`tt(%R)' expands to the string which presumably needs spelling
|
|
correction, and `tt(%r)' expands to the proposed correction.
|
|
All other prompt escapes are also allowed.
|
|
)
|
|
vindex(STTY)
|
|
item(tt(STTY))(
|
|
If this parameter is set in a command's environment, the shell runs the
|
|
tt(stty) command with the value of this parameter as arguments in order to
|
|
set up the terminal before executing the command. The modes apply only to the
|
|
command, and are reset when it finishes or is suspended. If the command is
|
|
suspended and continued later with the tt(fg) or tt(wait) builtins it will
|
|
see the modes specified by tt(STTY), as if it were not suspended. This
|
|
(intentionally) does not apply if the command is continued via `tt(kill
|
|
-CONT)'. tt(STTY) is ignored if the command is run in the background, or
|
|
if it is in the environment of the shell but not explicitly assigned to in
|
|
the input line. This avoids running stty at every external command by
|
|
accidentally exporting it. Also note that tt(STTY) should not be used for
|
|
window size specifications; these will not be local to the command.
|
|
)
|
|
vindex(TERM)
|
|
item(tt(TERM) <S>)(
|
|
The type of terminal in use. This is used when looking up termcap
|
|
sequences. An assignment to tt(TERM) causes zsh to re-initialize the
|
|
terminal, even if the value does not change (e.g., `tt(TERM=$TERM)'). It
|
|
is necessary to make such an assignment upon any change to the terminal
|
|
definition database or terminal type in order for the new settings to
|
|
take effect.
|
|
)
|
|
vindex(TIMEFMT)
|
|
item(tt(TIMEFMT))(
|
|
The format of process time reports with the tt(time) keyword.
|
|
The default is `tt(%E real %U user %S system %P %J)'.
|
|
Recognizes the following escape sequences, although not all
|
|
may be available on all systems, and some that are available
|
|
may not be useful:
|
|
|
|
startsitem()
|
|
sitem(tt(%%))(A `tt(%)'.)
|
|
sitem(tt(%U))(CPU seconds spent in user mode.)
|
|
sitem(tt(%S))(CPU seconds spent in kernel mode.)
|
|
sitem(tt(%E))(Elapsed time in seconds.)
|
|
sitem(tt(%P))(The CPU percentage, computed as
|
|
(100*tt(%U)PLUS()tt(%S))/tt(%E).)
|
|
sitem(tt(%W))(Number of times the process was swapped.)
|
|
sitem(tt(%X))(The average amount in (shared) text space used in Kbytes.)
|
|
sitem(tt(%D))(The average amount in (unshared) data/stack space used in
|
|
Kbytes.)
|
|
sitem(tt(%K))(The total space used (%X+%D) in Kbytes.)
|
|
sitem(tt(%M))(The maximum memory the process had in use at any time in
|
|
Kbytes.)
|
|
sitem(tt(%F))(The number of major page faults (page needed to be brought
|
|
from disk).)
|
|
sitem(tt(%R))(The number of minor page faults.)
|
|
sitem(tt(%I))(The number of input operations.)
|
|
sitem(tt(%O))(The number of output operations.)
|
|
sitem(tt(%r))(The number of socket messages received.)
|
|
sitem(tt(%s))(The number of socket messages sent.)
|
|
sitem(tt(%k))(The number of signals received.)
|
|
sitem(tt(%w))(Number of voluntary context switches (waits).)
|
|
sitem(tt(%c))(Number of involuntary context switches.)
|
|
sitem(tt(%J))(The name of this job.)
|
|
endsitem()
|
|
|
|
A star may be inserted between the percent sign and flags printing time.
|
|
This cause the time to be printed in
|
|
`var(hh)tt(:)var(mm)tt(:)var(ss)tt(.)var(ttt)'
|
|
format (hours and minutes are only printed if they are not zero).
|
|
)
|
|
vindex(TMOUT)
|
|
item(tt(TMOUT))(
|
|
If this parameter is nonzero, the shell will receive an tt(ALRM)
|
|
signal if a command is not entered within the specified number of
|
|
seconds after issuing a prompt. If there is a trap on tt(SIGALRM), it
|
|
will be executed and a new alarm is scheduled using the value of the
|
|
tt(TMOUT) parameter after executing the trap. If no trap is set, and
|
|
the idle time of the terminal is not less than the value of the
|
|
tt(TMOUT) parameter, zsh terminates. Otherwise a new alarm is
|
|
scheduled to tt(TMOUT) seconds after the last keypress.
|
|
)
|
|
vindex(TMPPREFIX)
|
|
item(tt(TMPPREFIX))(
|
|
A pathname prefix which the shell will use for all temporary files.
|
|
Note that this should include an initial part for the file name as
|
|
well as any directory names. The default is `tt(/tmp/zsh)'.
|
|
)
|
|
vindex(watch)
|
|
vindex(WATCH)
|
|
item(tt(watch) <S> <Z> (tt(WATCH) <S>))(
|
|
An array (colon-separated list) of login/logout events to report.
|
|
If it contains the single word `tt(all)', then all login/logout events
|
|
are reported. If it contains the single word `tt(notme)', then all
|
|
events are reported as with `tt(all)' except tt($USERNAME).
|
|
An entry in this list may consist of a username,
|
|
an `tt(@)' followed by a remote hostname,
|
|
and a `tt(%)' followed by a line (tty).
|
|
Any or all of these components may be present in an entry;
|
|
if a login/logout event matches all of them,
|
|
it is reported.
|
|
)
|
|
vindex(WATCHFMT)
|
|
item(tt(WATCHFMT))(
|
|
The format of login/logout reports if the tt(watch) parameter is set.
|
|
Default is `tt(%n has %a %l from %m)'.
|
|
Recognizes the following escape sequences:
|
|
|
|
startitem()
|
|
item(tt(%n))(
|
|
The name of the user that logged in/out.
|
|
)
|
|
item(tt(%a))(
|
|
The observed action, i.e. "logged on" or "logged off".
|
|
)
|
|
item(tt(%l))(
|
|
The line (tty) the user is logged in on.
|
|
)
|
|
item(tt(%M))(
|
|
The full hostname of the remote host.
|
|
)
|
|
item(tt(%m))(
|
|
The hostname up to the first `tt(.)'. If only the
|
|
IP address is available or the utmp field contains
|
|
the name of an X-windows display, the whole name is printed.
|
|
|
|
em(NOTE:)
|
|
The `tt(%m)' and `tt(%M)' escapes will work only if there is a host name
|
|
field in the utmp on your machine. Otherwise they are
|
|
treated as ordinary strings.
|
|
)
|
|
item(tt(%S) LPAR()tt(%s)RPAR())(
|
|
Start (stop) standout mode.
|
|
)
|
|
item(tt(%U) LPAR()tt(%u)RPAR())(
|
|
Start (stop) underline mode.
|
|
)
|
|
item(tt(%B) LPAR()tt(%b)RPAR())(
|
|
Start (stop) boldface mode.
|
|
)
|
|
xitem(tt(%t))
|
|
item(tt(%@))(
|
|
The time, in 12-hour, am/pm format.
|
|
)
|
|
item(tt(%T))(
|
|
The time, in 24-hour format.
|
|
)
|
|
item(tt(%w))(
|
|
The date in `var(day)tt(-)var(dd)' format.
|
|
)
|
|
item(tt(%W))(
|
|
The date in `var(mm)tt(/)var(dd)tt(/)var(yy)' format.
|
|
)
|
|
item(tt(%D))(
|
|
The date in `var(yy)tt(-)var(mm)tt(-)var(dd)' format.
|
|
)
|
|
item(tt(%LPAR())var(x)tt(:)var(true-text)tt(:)var(false-text)tt(RPAR()))(
|
|
Specifies a ternary expression.
|
|
The character following the var(x) is
|
|
arbitrary; the same character is used to separate the text
|
|
for the "true" result from that for the "false" result.
|
|
Both the separator and the right parenthesis may be escaped
|
|
with a backslash.
|
|
Ternary expressions may be nested.
|
|
|
|
The test character var(x) may be any one of `tt(l)', `tt(n)', `tt(m)'
|
|
or `tt(M)', which indicate a `true' result if the corresponding
|
|
escape sequence would return a non-empty value; or it may be `tt(a)',
|
|
which indicates a `true' result if the watched user has logged in,
|
|
or `false' if he has logged out.
|
|
Other characters evaluate to neither true nor false; the entire
|
|
expression is omitted in this case.
|
|
|
|
If the result is `true', then the var(true-text)
|
|
is formatted according to the rules above and printed,
|
|
and the var(false-text) is skipped.
|
|
If `false', the var(true-text) is skipped and the var(false-text)
|
|
is formatted and printed.
|
|
Either or both of the branches may be empty, but
|
|
both separators must be present in any case.
|
|
)
|
|
enditem()
|
|
)
|
|
vindex(WORDCHARS)
|
|
item(tt(WORDCHARS) <S>)(
|
|
A list of non-alphanumeric characters considered part of a word
|
|
by the line editor.
|
|
)
|
|
vindex(ZBEEP)
|
|
item(tt(ZBEEP))(
|
|
If set, this gives a string of characters, which can use all the same codes
|
|
as the tt(bindkey) command as described in
|
|
ifzman(the zsh/zle module entry in zmanref(zshmodules))\
|
|
ifnzman(noderef(The zsh/zle Module))\
|
|
, that will be output to the terminal
|
|
instead of beeping. This may have a visible instead of an audible effect;
|
|
for example, the string `tt(\e[?5h\e[?5l)' on a vt100 or xterm will have
|
|
the effect of flashing reverse video on and off (if you usually use reverse
|
|
video, you should use the string `tt(\e[?5l\e[?5h)' instead). This takes
|
|
precedence over the tt(NOBEEP) option.
|
|
)
|
|
vindex(ZDOTDIR)
|
|
item(tt(ZDOTDIR))(
|
|
The directory to search for shell startup files (.zshrc, etc),
|
|
if not tt($HOME).
|
|
)
|
|
enditem()
|