typeset, whence - shell built-in functions to set/get attri-
butes and values for shell variables and functions
typeset [ _ HLRZfilrtux [n]] [ name [ = value]]...
whence [-pv] name...
typeset sets attributes and values for shell variables and
functions. When typeset is invoked inside a function, a new
instance of the variables name is created. The variables
value and type are restored when the function completes. The
following list of attributes may be specified:
-H This flag provides UNIX to host-name file mapping on
-L Left justify and remove leading blanks from value. If
n is non-zero it defines the width of the field; oth-
erwise, 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. Leading zeros are
removed if the -Z flag is also set. The -R flag is
-R 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 flag is turned off.
-Z Right justify and fill with leading zeros if the first
non-blank character is a digit and the -L flag has not
been set. If n is non-zero it defines the width of
the field; otherwise, it is determined by the width of
the value of first assignment.
-f The names refer to function names rather than variable
names. No assignments can be made and the only other
valid flags are -t, -u and -x. The flag -t turns on
execution tracing for this function. The flag -u
causes this function to be marked undefined. The
FPATH variable will be searched to find the function
definition when the function is referenced. The flag
-x allows the function definition to remain in effect
across shell procedures invoked by name.
-i Parameter is an integer. This makes arithmetic
faster. If n is non-zero it defines the output arith-
metic base; otherwise, the first assignment determines
the output base.
-l All upper-case characters are converted to lower-case.
The upper-case flag, -u is turned off.
-r The given names are marked readonly and these names
cannot be changed by subsequent assignment.
-t Tags the variables. Tags are user definable and have
no special meaning to the shell.
-u All lower-case characters are converted to upper-case
characters. The lower-case flag, -l is turned off.
-x The given names are marked for automatic export to the
environment of subsequently-executed commands.
The -i attribute can not be specified along with -R, -L, -Z,
Using + rather than - causes these flags to be turned off.
If no name arguments are given but flags are specified, a
list of names (and optionally the values) of the variables
which have these flags set is printed. (Using + rather than
- keeps the values from being printed.) If no names and
flags are given, the names and attributes of all variables
For each name, whence indicates how it would be interpreted
if used as a command name.
The -v flag produces a more verbose report.
The -p flag does a path search for name even if name is an
alias, a function, or a reserved word.
On this man page, ksh(1) commands that are preceded by one
or two * (asterisks) are treated specially in the following
1. Variable assignment lists preceding the command remain in
effect when the command completes.
2. I/O redirections are processed after variable assign-
3. Errors cause a script that contains them to abort.
4. Words, following a command preceded by ** that are in the
format of a variable assignment, are expanded with the
same rules as a variable assignment. This means that
tilde substitution is performed after the = sign and word
splitting and file name generation are not performed.
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Availability | SUNWcsu |
ksh(1), set(1), sh(1), attributes(5)
Man(1) output converted with