ZSHPARAM(1)

ZSHPARAM(1)

zshoptions Home Page User Commands Index zshzle


NAME
       zshparam - zsh parameters

DESCRIPTIONS
       A  parameter  has  a  name,  a  value,  and  a  number  of
       attributes.  A name may be any  sequence  of  alphanumeric
       characters  and  _'s, or the single characters *, @, #, ?,
       -, $, or !.  The value may be either a scalar (a  string),
       an  integer,  or  an array.  To assign a scalar or integer
       value to a parameter, use the typeset builtin.  To  assign
       an array value, use set -A name value ....  The value of a
       parameter may also be assigned by writing:
              name=value ...

       If the integer attribute, -i, is set for name,  the  value
       is subject to arithmetic evaluation.

       The  value  of an array parameter may be assigned by writ-
       ing:
              name=(value ...) ...
       Individual elements of an array may be  selected  using  a
       subscript.  A subscript of the form [exp] selects the sin-
       gle element exp, where exp  is  an  arithmetic  expression
       which  will  be  subject  to arithmetic expansion as if it
       were surrounded by "$((...))".  The elements are  numbered
       beginning  with 1 unless the KSH_ARRAYS option is set when
       they are numbered from zero.

       A subscript of the form [*] or [@] evaluates to  all  ele-
       ments  of an array; there is no difference between the two
       except when they appear within double  quotes.   "$foo[*]"
       evaluates to "$foo[1] $foo[2] ...", while "$foo[@]" evalu-
       ates to "$foo[1]" "$foo[2]", etc.

       A subscript of the form [exp1,exp2] selects  all  elements
       in  the range exp1 to exp2, inclusive.  If one of the sub-
       scripts evaluates to a negative number, say -n,  then  the
       nth  element  from  the  end  of  the array is used.  Thus
       "$foo[-3]" is the third element from the end of the  array
       foo, and "$foo[1,-1]" is the same as "$foo[*]".

       Subscripting may also be performed on non-array values, in
       which case  the  subscripts  specify  a  substring  to  be
       extracted.   For  example,  if  FOO is set to foobar, then
       echo $FOO[2,5] prints ooba.

       Subscripts may be used inside braces  used  to  delimit  a
       parameter  name,  thus ${foo[2]} is equivalent to $foo[2].
       If the KSH_ARRAYS option is set, the braced  form  is  the
       only one that will work, the subscript otherwise not being
       treated specially.

       If a subscript is used on the left side of  an  assignment
       the  selected  range  is replaced by the expression on the
       right side.

       If the opening bracket or the comma is  directly  followed
       by  an  opening  parentheses the string up to the matching
       closing one is considered to be a list of flags. The flags
       currently understood are:
              e      this  option  has no effect and retained for
                     backward compatibility only
              w      if the parameter  subscripted  is  a  scalar
                     than  this flag makes subscription work on a
                     per-word basis instead of characters
              s:string:
                     this gives the string that  separates  words
                     (for use with the w flag)
              p      Recognize  the  same escape sequences as the
                     print builtin in the string  argument  of  a
                     subsequent s flag.
              f      if  the  parameter  subscripted  is a scalar
                     than this flag makes subscription work on  a
                     per-line  basis instead of characters.  This
                     is a shorthand for pws:\n:.
              r      if this flag is given the 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 w flag  is  given,
                     respectively); note that this is like giving
                     a      number:       $foo[(r)??,3]       and
                     $foo[(r)??,(r)f*] work
              R      like r, but gives the last match
              i      like  r,  but  gives  the index of the match
                     instead; this may not  be  combined  with  a
                     second argument
              I      like  i,  but  gives  the  index of the last
                     match
              n:expr:
                     if combined with r, R, , or  I,  makes  them
                     give  the  n'th  or n'th last match (if expr
                     evaluates to n)

   Positional Parameters
       Positional parameters are set by the shell on  invocation,
       by  the set builtin, or by direct assignment.  The parame-
       ter n, where n is a number, is the nth positional  parame-
       ter.   The parameters *, @, and argv are arrays containing
       all the  positional  parameters;  thus  argv[n],  etc.  is
       equivalent to simply n.

   Special Parameters
       The  following  parameters  are  automatically  set by the
       shell:
              !      The process id of the last  background  com-
                     mand invoked.
              #      The number of positional parameters in deci-
                     mal.
              ARGC   Same as #. It  has  no  special  meaning  in
                     sh/ksh compatibility mode.
              $      The process id of this shell.
              -      Flags supplied to the shell on invocation or
                     by the set or setopt commands.
              *      An array containing the  positional  parame-
                     ters.
              argv   Same  as  *.  It  has  no special meaning in
                     sh/ksh compatibility mode.
              @      Same as argv[@] but it can be used in sh/ksh
                     compatibility mode.
              ?      The exit value returned by the last command.
              status Same as ?. It  has  no  special  meaning  in
                     sh/ksh compatibility mode.
              _      The  last  argument of the previous command.
                     Also, this parameter is set in the  environ-
                     ment  of  every command executed to the full
                     pathname of the command.
              EGID   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:
                     (EGID=egid ; command)
              EUID   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:
                     (EUID=euid ; command)
              ERRNO  The value  of  errno  as  set  by  the  most
                     recently  failed system call.  This value is
                     system  dependent  and   is   intended   for
                     debugging purposes.
              GID    The  group  id of the shell process.  If you
                     have sufficient privileges, you  may  change
                     the group id of the shell process by assign-
                     ing to this parameter.  Also (assuming  suf-
                     ficient  privileges), you may start a single
                     command under a different group id by:
                     (GID=gid ; command)
              HOST   The current hostname.
              LINENO The line number of the current  line  within
                     the current script being executed.
              LOGNAME
                     If  the corresponding variable is not set in
                     the environment of the shell, it is initial-
                     ized  to the login name corresponding to the
                     current login  session.  This  parameter  is
                     exported by default but this can be disabled
                     using the typeset builtin.
              MACHTYPE
                     The machine type  (microprocessor  class  or
                     machine  model),  as  determined  at compile
                     time.
              OLDPWD The previous working directory.
              OPTARG The value of the last option  argument  pro-
                     cessed by the getopts command.
              OPTIND The  index  of the last option argument pro-
                     cessed by the getopts command.
              OSTYPE The operating system, as determined at  com-
                     pile time.
              PPID   The process id of the parent of the shell.
              PWD    The present working directory.
              RANDOM A random integer from 0 to 32767, newly gen-
                     erated each time this  parameter  is  refer-
                     enced.   The  random number generator can be
                     seeded by assigning a numeric value to  RAN-
                     DOM.
              SECONDS
                     The  number  of  seconds since shell invoca-
                     tion.   If  this  parameter  is  assigned  a
                     value,  then  the value returned upon refer-
                     ence will be the  value  that  was  assigned
                     plus the number of seconds since the assign-
                     ment.
              SHLVL  Incremented by one each time a new shell  is
                     started.
              signals
                     An  array  containing  the names of the sig-
                     nals.
              TTY    The name of  the  tty  associated  with  the
                     shell, if any.
              TTYIDLE
                     The idle time of the tty associated with the
                     shell in seconds or -1 if there is  no  such
                     tty.
              UID    The  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:
                     (UID=uid ; command)
              USERNAME
                     The username corresponding to the 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:
                     (USERNAME=username ; command)
              VENDOR The vendor, as determined at compile time.
              ZSHNAME
                     Expands  to the basename of the command used
                     to invoke this instance of zsh.
              ZSH_NAME
                     Expands to the basename of the command  used
                     to invoke this instance of zsh.
              ZSH_VERSION
                     The version number of this zsh.

       The following parameters are used by the shell:
              ARGV0  If  exported,  it's value is used as argv[0]
                     of external commands.  Usually used in  con-
                     structs like 'ARGV0=emacs nethack'.
              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  prof-
                     itably  set to a lower value in some circum-
                     stances, 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.
              cdpath (CDPATH)
                     An  array (colon-separated list) of directo-
                     ries specifying the search path for  the  cd
                     command.
              COLUMNS
                     The number of columns for this terminal ses-
                     sion.  Used for printing  select  lists  and
                     for the line editor.
              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 AUTO_PUSHD option.
              FCEDIT The default editor for the fc builtin.
              fignore (FIGNORE)
                     An array (colon separated  list)  containing
                     the  suffixes  of files to be ignored during
                     filename completion.  However, if  the  com-
                     pletion  generates  only  files  which would
                     match if this  variable  would  be  ignored,
                     than these files are completed anyway.
              fpath (FPATH)
                     An  array (colon separated list) of directo-
                     ries specifying the search path for function
                     definitions.   This  path is searched when a
                     function with the  -u  attribute  is  refer-
                     enced.  If an executable file is found, then
                     it is read and executed in the current envi-
                     ronment.
              histchars
                     Three characters used by the shell's history
                     and lexical analysis mechanism.   The  first
                     character  signals  the  start  of a history
                     substitution  (default  `!').   The   second
                     character  signals the start of a quick his-
                     tory substitution (default `^').  The  third
                     character  is the comment character (default
                     `#').
              HISTCHARS
                     Same as histchars.
              HISTFILE
                     The file to save  the  history  in  when  an
                     interactive shell exits.  If unset, the his-
                     tory is not saved.
              HISTSIZE
                     The maximum size of the history list.
              HOME   The default argument for the cd command.
              IFS    Internal field separators,  normally  space,
                     tab,  and newline, that are used to separate
                     words which result from command or parameter
                     substitution  and  words  read  by  the read
                     builtin.  Any characters from the set space,
                     tab  and  newline that appear in the IFS are
                     called 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 charac-
                     ter is treated as if  it  were  not  an  IFS
                     white space character.
              KEYTIMEOUT
                     The  time  the shell waits, in hundredths of
                     seconds, for another key to be pressed  when
                     reading bound multi-character sequences.
              LANG   This variable determines the locale category
                     for any category not  specifically  selected
                     via a variable starting with LC_.
              LC_ALL This  variable  overrides  the  value of the
                     LANG variable and the value of  any  of  the
                     other variables starting with LC_.
              LC_COLLATE
                     This variable determines the locale category
                     for character collation  information  within
                     ranges in glob brackets and for sorting.
              LC_CTYPE
                     This variable determines the locale category
                     for character handling functions.
              LC_MESSAGES
                     This variable  determines  the  language  in
                     which messages should be written.  Note that
                     zsh does not use message catalogs.
              LC_TIME
                     This variable determines the locale category
                     for date and time formatting in promt escape
                     sequences.
              LINES  The number of lines for this  terminal  ses-
                     sion.   Used  for  printing select lists and
                     for the line editor.
              LISTMAX
                     In the line editor, the number of  filenames
                     to  list  without  asking  first.  If set to
                     zero, the shell asks only if the top of  the
                     listing would scroll off the screen.
              LOGCHECK
                     The  interval  in seconds between checks for
                     login/logout activity using the watch param-
                     eter.
              MAIL   If this parameter is set and mailpath is not
                     set, the shell looks for mail in the  speci-
                     fied file.
              MAILCHECK
                     The  interval  in seconds between checks for
                     new mail.
              mailpath (MAILPATH)
                     An array (colon-separated list) of filenames
                     to check for new mail.  Each filename can be
                     followed by a ? and a message that  will  be
                     printed.  The message will undergo parameter
                     expansion, command substitution  and  arith-
                     metic  substitution  with  the  variable  $_
                     defined as the name of  the  file  that  has
                     changed.   The  default message is "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.
              manpath (MANPATH)
                     An  array (colon-separated list) whose value
                     is not used by the shell.  The manpath array
                     can  be  useful,  however,  since setting it
                     also sets MANPATH, and vice versa.
              NULLCMD
                     The command name to assume if a  redirection
                     is  specified  with no command.  Defaults to
                     cat.  For sh/ksh-like behavior, change  this
                     to  :.   For  csh-like  behavior, unset this
                     parameter; the shell  will  print  an  error
                     message if null commands are entered.
              path (PATH)
                     An  array (colon-separated list) of directo-
                     ries to  search  for  commands.   When  this
                     parameter  is set, each directory is scanned
                     and all files found are put in a hash table.
              POSTEDIT
                     This string is output whenever the line edi-
                     tor  exits.   It  usually  contains  termcap
                     strings to reset the terminal.
              PS1    The  primary prompt string, printed before a
                     command is read; the default is "%m%# ".  If
                     the  escape sequence takes an optional inte-
                     ger, it should appear between  the  '%'  and
                     the  next  character  of  the sequence.  The
                     following escape sequences are recognized:
                      %%     A `%'.
                      %)     A `)'.
                      %d
                      %/     Present working directory ($PWD).
                      %~     $PWD.  If it has a  named  directory
                             as its prefix, that part is replaced
                             by a ~ followed by the name  of  the
                             directory.  If it starts with $HOME,
                             that part is replaced by a ~.
                      %c
                      %.
                      %C     Trailing  component  of  $PWD.    An
                             integer  may  follow  the '%' to get
                             more than one component.  Unless  %C
                             is  used,  tilde  expansion  is per-
                             formed first.
                      %h
                      %!     Current history event number
                      %M     The full machine hostname.
                      %m     The hostname up to  the  first  '.'.
                             An  integer  may  follow  the '%' to
                             specify how many components  of  the
                             hostname are desired.
                      %S (%s)
                             Start (stop) standout mode.
                      %U (%u)
                             Start (stop) underline mode.
                      %B (%b)
                             Start (stop) boldface mode.
                      %t
                      %@     Current  time  of  day,  in 12-hour,
                             am/pm format.
                      %T     Current time of day, in 24-hour for-
                             mat.
                      %*     Current  time of day in 24-hour for-
                             mat, with seconds.
                      %n     $USERNAME.
                      %w     The date in day-dd format.
                      %W     The date in mm/dd/yy format.
                      %D     The date in yy-mm-dd format.
                      %D{string}
                             string is formatted using the  strf-
                             time  function.  See strftime(3) for
                             more details, if your system has it.
                      %l     The line (tty) the user is logged in
                             on.
                      %?     The return code of the last  command
                             executed just before the prompt.
                      %_     The  status  of the parser, i.e. the
                             shell  constructs  (like  `if'   and
                             `for') that have been started on the
                             command line. If  given  an  integer
                             number  that  many  strings  will be
                             printed; zero or  no  integer  means
                             print as many as there are.
                      %E     Clears to end of line.
                      %#     A  '#'  if  the  shell is running as
                             root, a '%' if not.   Equivalent  to
                             %(#.#.%%).
                      %v     The  value  of  the first element of
                             the $psvar array parameter.  Follow-
                             ing  the  '%'  with an integer gives
                             that element of the array.
                      %{...%}
                             Include a string as a literal escape
                             sequence.   The  string  within  the
                             braces should not change the  cursor
                             position.
                      %(x.true-text.false-text)
                             Specifies a ternary expression.  The
                             character following the x  is  arbi-
                             trary; the same character is used to
                             separate the  text  for  the  "true"
                             result  from  that  for  the "false"
                             result.   This  separator  may   not
                             appear  in  the true-text, except as
                             part of a %  sequence.   A  `)'  may
                             appear  in  the  false-text as `%)'.
                             True-text and  false-text  may  both
                             contain   arbitrarily-nested  escape
                             sequences, including further ternary
                             expressions.   The  left parenthesis
                             may be preceded  or  followed  by  a
                             positive  integer  n, which defaults
                             to zero.  The test character  x  may
                             be any of the following:
                             c
                             .
                             ~      True  if  the  current  path,
                                    with prefix replacement,  has
                                    at least n elements.
                             /
                             C      True  if the current absolute
                                    path has at least n elements.
                             t      True  if  the time in minutes
                                    is equal to n.
                             T      True if the time in hours  is
                                    equal to n.
                             d      True  if the day of the month
                                    is equal to n.
                             D      True if the month is equal to
                                    n (January = 0).
                             w      True  if  the day of the week
                                    is equal to n (Sunday = 0).
                             ?      True if the  exit  status  of
                                    the last command was n.
                             #      True  if the effective uid of
                                    the current process is n.
                             g      True if the effective gid  of
                                    the current process is n.
                             L      True  if  the SHLVL parameter
                                    is at least n.
                             S      True if the SECONDS parameter
                                    is at least n.
                             v      True  if  the array psvar has
                                    at least n elements.
                             _      True if at least n shell con-
                                    structs were started.
                      %<<string<<
                      %>>string>>
                      %[xstring]
                             Specifies truncation behaviour.  The
                             third   form   is   equivalent    to
                             `%xstringx',  i.e.  x  may be `<' or
                             `>'.  The numeric argument, which in
                             the  third  form  may appear immedi-
                             ately after the `[',  specifies  the
                             maximum permitted length of the var-
                             ious strings that can  be  displayed
                             in  the  prompt.  If this integer is
                             zero, or missing, truncation is dis-
                             abled.  Truncation is initially dis-
                             abled.  The forms with `<'  truncate
                             at  the  left of the string, and the
                             forms with `>' truncate at the right
                             of  the string.  For example, if the
                             current directory  is  `/home/pike',
                             the prompt `%8<..<%/' will expand to
                             `..e/pike'.  The string will be dis-
                             played  in  place  of  the truncated
                             portion  of  any  string.   In  this
                             string,  the  terminating  character
                             (`<', `>' or `]'), or  in  fact  any
                             character,  may  be quoted by a pre-
                             ceding `\'.   %  sequences  are  not
                             treated specially.  If the string is
                             longer than the specified truncation
                             length, it will appear in full, com-
                             pletely  replacing   the   truncated
                             string.
              PS2    The secondary prompt, printed when the shell
                     needs more information to  complete  a  com-
                     mand.   Recognizes the same escape sequences
                     as $PS1.  The default is "%_> ", which  dis-
                     plays  any  shell  constructs  or  quotation
                     marks which are currently being processed.
              PS3    Selection prompt used within a select  loop.
                     Recognizes  the  same  escape  sequences  as
                     $PS1.  The default is "?# ".
              PS4    The execution trace prompt.  Default  is  "+
                     ".
              PROMPT
              PROMPT2
              PROMPT3
              PROMPT4
                     Same  as  PS1,  PS2,  PS3,  and PS4, respec-
                     tively.  These parameters do  not  have  any
                     special   meaning  in  sh/ksh  compatibility
                     mode.
              psvar (PSVAR)
                     An array (colon-separated list) whose  first
                     nine  values  can be used in PROMPT strings.
                     Setting psvar  also  sets  PSVAR,  and  vice
                     versa.
              prompt Same  as  PS1.  It has no special meaning in
                     sh/ksh compatibility mode.
              READNULLCMD
                     The command name to assume if a single input
                     redirection  is  specified  with no command.
                     Defaults to more.
              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.
              RPROMPT
              RPS1   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 SINGLELINEZLE option is set.
                     Recognizes  the  same  escape  sequences  as
                     PROMPT.
              SAVEHIST
                     The maximum number of history events to save
                     in the history file.
              SPROMPT
                     The  prompt  used  for  spelling correction.
                     The sequence %R expands to the string  which
                     presumably needs spelling correction, and %r
                     expands to  the  proposed  correction.   All
                     other PROMPT escapes are also allowed.
              STTY   If  this  parameter  is  set  in a command's
                     environment, the shell runs the stty command
                     with  the  value  of this parameter as argu-
                     ments in order to set up the terminal before
                     executing  the command. The modes apply only
                     to the command, and are reset when  it  fin-
                     ishes  or  is  suspended.  If the command is
                     suspended and continued later with the fg or
                     wait  builtins  it will see the modes speci-
                     fied by STTY, as if it were  not  suspended.
                     This  (intentionally)  does not apply if the
                     command is continued via "kill -CONT".  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  STTY  should
                     not  be used for window size specifications;
                     these will not be local to the command.
              TIMEFMT
                     The format of process time reports with  the
                     time  keyword.   The default is "%E real  %U
                     user  %S system   %P  %J".   Recognizes  the
                     following escape sequences:
                      %%     A `%'.
                      %U     CPU seconds spent in user mode.
                      %S     CPU seconds spent in kernel mode.
                      %E     Elapsed time in seconds.
                      %P     The   CPU  percentage,  computed  as
                             (%U+%S)/%E.
                      %J     The name of this job.
              A star may be inserted between the percent sign and
              flags  printing  time.   This  cause the time to be
              printed in hh:mm:ss.ttt format (hours  and  minutes
              are only printed if they are not zero).
              TMOUT  If this parameter is nonzero, the shell will
                     receive an ALRM signal if a command  is  not
                     entered  within the specified number of sec-
                     onds after issuing a prompt. If there  is  a
                     trap  on  SIGALRM, it will be executed and a
                     new alarm is scheduled using  the  value  of
                     the  TMOUT  parametr  after  exececuting the
                     trap. If no trap is set, and the  idle  time
                     of  the  terminal is not less than the value
                     of the TMOUT parameter, zsh terminates. Oth-
                     erwise  a  new  alarm  is scheduled to TMOUT
                     seconds after the last keypress.
              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 /tmp/zsh.
              watch (WATCH)
                     An   array   (colon-separated    list)    of
                     login/logout  events  to report.  If it con-
                     tains  the  single  word  "all",  then   all
                     login/logout  events  are  reported.   If it
                     contains the single word "notme",  then  all
                     events  are  reported  as  with "all" except
                     $USERNAME.  An entry in this list  may  con-
                     sist  of  a  username,  an `@' followed by a
                     remote hostname, and a  `%'  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.
              WATCHFMT
                     The format of login/logout  reports  if  the
                     watch  parameter is set.  Default is "%n has
                     %a %l from %m."   Recognizes  the  following
                     escape sequences:
                      %n     The  name  of  the  user that logged
                             in/out.
                      %a     The observed  action,  i.e.  "logged
                             on" or "logged off".
                      %l     The line (tty) the user is logged in
                             on.
                      %M     The  full  hostname  of  the  remote
                             host.
                      %m     The  hostname  up  to the first ".".
                             If only the ip address is  available
                             or  the utmp field contains the name
                             of an X-windows display,  the  whole
                             name is printed.
                      NOTE:  The %m and %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.
                      %S (%s)
                             Start (stop) standout mode.
                      %U (%u)
                             Start (stop) underline mode.
                      %B (%b)
                             Start (stop) boldface mode.
                      %t
                      %@     The  time, in 12-hour, am/pm format.
                      %T     The time, in 24-hour format.
                      %w     The date in day-dd format.
                      %W     The date in mm/dd/yy format.
                      %D     The date in yy-mm-dd format.
                      %(x:true-text:false-text)
                             Specifies a ternary expression.  The
                             character  following  the x is arbi-
                             trary; 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 expres-
                             sions may be nested.
                             The test character x may be any  one
                             of  l,  n, m, or M, which indicate a
                             "true" result if  the  corresponding
                             escape  sequence would return a non-
                             empty value;  or  may  be  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
                             true-text  is formatted according to
                             the rules above and printed, and the
                             false-text  is skipped.  If "false",
                             the true-text  is  skipped  and  the
                             false-text is formatted and printed.
                             Either or both of the  branches  may
                             be  empty,  but both separators must
                             be present in any case.
              WORDCHARS
                     A list of nonalphanumeric characters consid-
                     ered part of a word by the line editor.
              ZDOTDIR
                     The  directory  to  search for shell startup
                     files (.zshrc, etc), if not $HOME.

zshoptions Home Page User Commands Index zshzle