whence(1)




NAME

     typeset, whence - shell built-in functions to set/get attri-
     butes and values for shell variables and functions


SYNOPSIS

     typeset [ _ HLRZfilrtux [n]]  [ name [ = value]]...

     whence [-pv] name...


DESCRIPTION

     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
           non-UNIX machines.

     -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
           turned off.

     -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,
     or -f.

     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
     are printed.

     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
     ways:

     1. Variable assignment lists preceding the command remain in
        effect when the command completes.

     2. I/O redirections are  processed  after  variable  assign-
        ments.

     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.


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWcsu                     |
    |_____________________________|_____________________________|


SEE ALSO

     ksh(1), set(1), sh(1), attributes(5)


Man(1) output converted with man2html