Index of Section 1 Manual Pages

Interix / SUAzshoptions.1Interix / SUA

ZSHOPTIONS(1)                                       ZSHOPTIONS(1)



NAME
       zshoptions - zsh options

SPECIFYING OPTIONS
       Options  are  primarily  referred to by name.  These names
       are case insensitive and  underscores  are  ignored.   For
       example, `allexport' is equivalent to `A__lleXP_ort'.

       The  sense  of an option name may be inverted by preceding
       it with `no', so `setopt No_Beep' is equivalent to  `unse-
       topt  beep'.   This  inversion  can  only be done once, so
       `nonobeep' is not a synonym for `beep'.  Similarly, `tify'
       is   not  a  synonym  for  `nonotify'  (the  inversion  of
       `notify').

       Some options also have one or more  single  letter  names.
       There  are  two sets of single letter options: one used by
       default, and another used to emulate sh/ksh (used when the
       SH_OPTION_LETTERS  option  is  set).   The  single  letter
       options can be used on the shell command line, or with the
       set,  setopt and unsetopt builtins, as normal Unix options
       preceded by `-'.

       The sense of the single letter options may be inverted  by
       using  `+'  instead  of  `-'.   Some  of the single letter
       option names refer to an option being off, in  which  case
       the  inversion of that name refers to the option being on.
       For example, `+n' is the short name of `exec', and `-n' is
       the short name of its inversion, `noexec'.

       In  strings of single letter options supplied to the shell
       at startup, trailing whitespace will be ignored; for exam-
       ple  the string `-f    ' will be treated just as `-f', but
       the string `-f i' is an error.  This is because many  sys-
       tems  which  implement  the  `#!'  mechanism  for  calling
       scripts do not strip trailing whitespace.


DESCRIPTION OF OPTIONS
       In the following list, options set by default in all  emu-
       lations  are marked ; those set by default only in csh,
       ksh, sh, or zsh emulations are marked , ,  ,  
       as appropriate.  When listing options (by `setopt', `unse-
       topt', `set -o' or `set +o'), those turned on  by  default
       appear  in  the  list  prefixed  with `no'.  Hence (unless
       KSH_OPTION_PRINT is set), `setopt' shows all options whose
       settings are changed from the default.


   Changing Directories
       AUTO_CD (-J)
              If  a command is issued that can't be executed as a
              normal command, and the command is the  name  of  a
              directory,  perform  the  cd command to that direc-
              tory.

       AUTO_PUSHD (-N)
              Make cd push the old directory onto  the  directory
              stack.

       CDABLE_VARS (-T)
              If  the  argument to a cd command (or an implied cd
              with the AUTO_CD option set) is  not  a  directory,
              and  does not begin with a slash, try to expand the
              expression as if it were preceded by a `~' (see the
              section `Filename Expansion').

       CHASE_DOTS
              When changing to a directory containing a path seg-
              ment `..' which would otherwise be treated as  can-
              celing  the  previous segment in the path (in other
              words, `foo/..' would be removed from the path,  or
              if  `..'  is  the  first part of the path, the last
              part of $PWD would be deleted), instead resolve the
              path  to  the  physical  directory.  This option is
              overridden by CHASE_LINKS.

              For example, suppose /foo/bar  is  a  link  to  the
              directory  /alt/rod.   Without this option set, `cd
              /foo/bar/..' changes  to  /foo;  with  it  set,  it
              changes  to  /alt.  The same applies if the current
              directory is /foo/bar and `cd ..'  is  used.   Note
              that all other symbolic links in the path will also
              be resolved.

       CHASE_LINKS (-w)
              Resolve symbolic links to their  true  values  when
              changing  directory.   This  also has the effect of
              CHASE_DOTS,  i.e.  a  `..'  path  segment  will  be
              treated  as  referring to the physical parent, even
              if the preceding path segment is a symbolic link.

       PUSHD_IGNORE_DUPS
              Don't push multiple copies of  the  same  directory
              onto the directory stack.

       PUSHD_MINUS
              Exchanges  the  meanings  of  `+' and `-' when used
              with a number to specify a directory in the  stack.

       PUSHD_SILENT (-E)
              Do  not  print  the  directory stack after pushd or
              popd.

       PUSHD_TO_HOME (-D)
              Have  pushd  with  no  arguments  act  like  `pushd
              $HOME'.


   Completion
       ALWAYS_LAST_PROMPT 
              If  unset,  key functions that list completions try
              to return to the last prompt  if  given  a  numeric
              argument.  If  set these functions try to return to
              the last prompt if given no numeric argument.

       ALWAYS_TO_END
              If a completion is performed with the cursor within
              a word, and a full completion is inserted, the cur-
              sor is moved to the end of the word.  That is,  the
              cursor  is moved to the end of the word if either a
              single match is inserted or menu completion is per-
              formed.

       AUTO_LIST (-9) 
              Automatically  list choices on an ambiguous comple-
              tion.

       AUTO_MENU 
              Automatically use menu completion after the  second
              consecutive  request for completion, for example by
              pressing the tab key  repeatedly.  This  option  is
              overridden by MENU_COMPLETE.

       AUTO_NAME_DIRS
              Any parameter that is set to the absolute name of a
              directory  immediately  becomes  a  name  for  that
              directory,  that  will  be  used  by  the  `%~' and
              related prompt sequences,  and  will  be  available
              when  completion  is  performed  on a word starting
              with `~'.  (Otherwise, the parameter must  be  used
              in the form `~param' first.)

       AUTO_PARAM_KEYS 
              If  a  parameter name was completed and a following
              character   (normally   a   space)    automatically
              inserted,  and  the  next character typed is one of
              those that have to come  directly  after  the  name
              (like  `}',  `:',  etc.),  the  automatically added
              character is deleted, so that the  character  typed
              comes  immediately  after the parameter name.  Com-
              pletion in a brace expansion is affected similarly:
              the added character is a `,', which will be removed
              if `}' is typed next.

       AUTO_PARAM_SLASH 
              If a parameter is completed whose  content  is  the
              name  of  a  directory,  then  add a trailing slash
              instead of a space.

       AUTO_REMOVE_SLASH 
              When the last character resulting from a completion
              is  a  slash and the next character typed is a word
              delimiter, a slash, or a character that ends a com-
              mand  (such as a semicolon or an ampersand), remove
              the slash.

       BASH_AUTO_LIST
              On  an  ambiguous  completion,  automatically  list
              choices  when  the  completion  function  is called
              twice in succession.  This  takes  precedence  over
              AUTO_LIST.    The   setting  of  LIST_AMBIGUOUS  is
              respected.  If AUTO_MENU is set, the menu behaviour
              will  then  start  with the third press.  Note that
              this  will  not  work  with  MENU_COMPLETE,   since
              repeated completion calls immediately cycle through
              the list in that case.

       COMPLETE_ALIASES
              Prevents aliases on the  command  line  from  being
              internally   substituted   before   completion   is
              attempted.  The effect is to make the alias a  dis-
              tinct command for completion purposes.

       COMPLETE_IN_WORD
              If  unset, the cursor is set to the end of the word
              if completion is started. Otherwise it stays  there
              and completion is done from both ends.

       GLOB_COMPLETE
              When  the  current  word has a glob pattern, do not
              insert all the words resulting from  the  expansion
              but  generate  matches  as for completion and cycle
              through them like MENU_COMPLETE.  The  matches  are
              generated  as  if a `*' was added to the end of the
              word,  or  inserted  at  the   cursor   when   COM-
              PLETE_IN_WORD  is  set.  This actually uses pattern
              matching, not globbing, so it works  not  only  for
              files but for any completion, such as options, user
              names, etc.

              Note that when the pattern matcher is used,  match-
              ing   control  (for  example,  case-insensitive  or
              anchored matching) cannot be used.  This limitation
              only  applies when the current word contains a pat-
              tern; simply turning on  the  GLOB_COMPLETE  option
              does not have this effect.

       HASH_LIST_ALL 
              Whenever  a  command  completion is attempted, make
              sure the entire command path is hashed first.  This
              makes the first completion slower.

       LIST_AMBIGUOUS 
              This  option works when AUTO_LIST or BASH_AUTO_LIST
              is also set.  If there is an unambiguous prefix  to
              insert  on the command line, that is done without a
              completion list being displayed;  in  other  words,
              auto-listing  behaviour only takes place when noth-
              ing  would   be   inserted.    In   the   case   of
              BASH_AUTO_LIST,  this  means  that the list will be
              delayed to the third call of the function.

       LIST_BEEP 
              Beep on an ambiguous completion.  More  accurately,
              this forces the completion widgets to return status
              1 on an  ambiguous  completion,  which  causes  the
              shell  to beep if the option BEEP is also set; this
              may be modified if  completion  is  called  from  a
              user-defined widget.

       LIST_PACKED
              Try  to make the completion list smaller (occupying
              less lines) by printing the matches in columns with
              different widths.

       LIST_ROWS_FIRST
              Lay out the matches in completion lists sorted hor-
              izontally, that is, the  second  match  is  to  the
              right of the first one, not under it as usual.

       LIST_TYPES (-X) 
              When  listing  files that are possible completions,
              show the type of each file with a trailing  identi-
              fying mark.

       MENU_COMPLETE (-Y)
              On an ambiguous completion, instead of listing pos-
              sibilities or beeping, insert the first match imme-
              diately.   Then when completion is requested again,
              remove the first match and insert the second match,
              etc.   When  there  are no more matches, go back to
              the first one again.  reverse-menu-complete may  be
              used  to  loop through the list in the other direc-
              tion. This option overrides AUTO_MENU.

       REC_EXACT (-S)
              In completion, recognize exact matches even if they
              are ambiguous.


   Expansion and Globbing
       BAD_PATTERN (+2)  
              If  a  pattern  for  filename  generation  is badly
              formed, print an error message.  (If this option is
              unset, the pattern will be left unchanged.)

       BARE_GLOB_QUAL 
              In  a  glob pattern, treat a trailing set of paren-
              theses as a qualifier list, if it contains no  `|',
              `('  or  (if special) `~' characters.  See the sec-
              tion `Filename Generation'.

       BRACE_CCL
              Expand expressions in braces which would not other-
              wise undergo brace expansion to a lexically ordered
              list of all the characters.  See the section `Brace
              Expansion'.

       CASE_GLOB 
              Make  globbing  (filename  generation) sensitive to
              case.  Note that other uses of patterns are  always
              sensitive  to  case.   If  the option is unset, the
              presence of any character which is special to file-
              name  generation will cause case-insensitive match-
              ing.  For example, cvs(/) can match  the  directory
              CVS  owing  to  the  presence  of the globbing flag
              (unless the option BARE_GLOB_QUAL is unset).

       CSH_NULL_GLOB 
              If  a  pattern  for  filename  generation  has   no
              matches, delete the pattern from the argument list;
              do not report an error unless all the patterns in a
              command have no matches.  Overrides NOMATCH.

       EQUALS 
              Perform  =  filename  expansion.   (See the section
              `Filename Expansion'.)

       EXTENDED_GLOB
              Treat the `#', `~' and `^' characters  as  part  of
              patterns for filename generation, etc.  (An initial
              unquoted `~' always produces named directory expan-
              sion.)

       GLOB (+F, ksh: +f) 
              Perform  filename  generation (globbing).  (See the
              section `Filename Generation'.)

       GLOB_ASSIGN 
              If this option is set, filename  generation  (glob-
              bing) is performed on the right hand side of scalar
              parameter assignments  of  the  form  `name=pattern
              (e.g.  `foo=*').   If  the result has more than one
              word the parameter will become an array with  those
              words  as  arguments.  This  option is provided for
              backwards compatibility only:  globbing  is  always
              performed  on  the right hand side of array assign-
              ments of the form `name=(value)'  (e.g.  `foo=(*)')
              and this form is recommended for clarity; with this
              option set, it is not possible to  predict  whether
              the result will be an array or a scalar.

       GLOB_DOTS (-4)
              Do  not  require  a leading `.' in a filename to be
              matched explicitly.

       GLOB_SUBST   
              Treat  any  characters  resulting  from   parameter
              expansion  as being eligible for file expansion and
              filename generation, and any  characters  resulting
              from  command  substitution  as  being eligible for
              filename  generation.   Braces   (and   commas   in
              between) do not become eligible for expansion.

       IGNORE_BRACES (-I) 
              Do not perform brace expansion.

       KSH_GLOB 
              In  pattern  matching, the interpretation of paren-
              theses is affected by a preceding  `@',  `*',  `+',
              `?' or `!'.  See the section `Filename Generation'.

       MAGIC_EQUAL_SUBST
              All  unquoted   arguments   of   the   form   `any-
              thing=expression'  appearing after the command name
              have filename expansion (that is, where  expression
              has  a  leading `~' or `=') performed on expression
              as if it were a parameter assignment.  The argument
              is not otherwise treated specially; it is passed to
              the command as a single argument, and not  used  as
              an  actual  parameter  assignment.  For example, in
              echo foo=~/bar:~/rod, both occurrences of  ~  would
              be  replaced.   Note  that this happens anyway with
              typeset and similar statements.

              This option respects the setting of the KSH_TYPESET
              option.   In  other  words,  if both options are in
              effect, arguments looking like assignments will not
              undergo wordsplitting.

       MARK_DIRS (-8, ksh: -X)
              Append  a  trailing  `/'  to  all  directory  names
              resulting from filename generation (globbing).

       NOMATCH (+3)  
              If  a  pattern  for  filename  generation  has   no
              matches,  print  an  error,  instead  of leaving it
              unchanged in the argument list.  This also  applies
              to file expansion of an initial `~' or `='.

       NULL_GLOB (-G)
              If   a  pattern  for  filename  generation  has  no
              matches, delete the pattern from the argument  list
              instead  of reporting an error.  Overrides NOMATCH.

       NUMERIC_GLOB_SORT
              If numeric filenames are matched by a filename gen-
              eration  pattern,  sort  the  filenames numerically
              rather than lexicographically.

       RC_EXPAND_PARAM (-P)
              Array expansions of the form  `foo${xx}bar',  where
              the parameter xx is set to (a b c), are substituted
              with  `fooabar  foobbar  foocbar'  instead  of  the
              default `fooa b cbar'.

       SH_GLOB  
              Disables  the  special meaning of `(', `|', `)' and
              '<' for globbing the result of parameter  and  com-
              mand  substitutions, and in some other places where
              the shell accepts patterns.  This option is set  by
              default if zsh is invoked as sh or ksh.

       UNSET (+u, ksh: +u)   
              Treat  unset  parameters as if they were empty when
              substituting.  Otherwise they  are  treated  as  an
              error.


   History
       APPEND_HISTORY 
              If this is set, zsh sessions will append their his-
              tory list to the history file,  rather  than  over-
              write it. Thus, multiple parallel zsh sessions will
              all have their history lists added to  the  history
              file, in the order they are killed.

       BANG_HIST (+K)  
              Perform   textual   history  expansion,  csh-style,
              treating the character `!' specially.

       EXTENDED_HISTORY 
              Save each command's beginning timestamp (in seconds
              since  the  epoch) and the duration (in seconds) to
              the history file.  The format of this prefixed data
              is:

              `:::'.

       HIST_ALLOW_CLOBBER
              Add  `|'  to  output  redirections  in the history.
              This allows history  references  to  clobber  files
              even when CLOBBER is unset.

       HIST_BEEP 
              Beep  when  an  attempt is made to access a history
              entry which isn't there.

       HIST_EXPIRE_DUPS_FIRST
              If the internal history needs to be trimmed to  add
              the  current command line, setting this option will
              cause the oldest history event that has a duplicate
              to  be  lost  before losing a unique event from the
              list.  You should be sure to set the value of HIST-
              SIZE  to  a larger number than SAVEHIST in order to
              give you some room for the duplicated events,  oth-
              erwise   this   option   will   behave   just  like
              HIST_IGNORE_ALL_DUPS once the history fills up with
              unique events.

       HIST_FIND_NO_DUPS
              When searching for history entries in the line edi-
              tor, do not display duplicates of a line previously
              found, even if the duplicates are not contiguous.

       HIST_IGNORE_ALL_DUPS
              If  a  new  command line being added to the history
              list duplicates an older one, the older command  is
              removed from the list (even if it is not the previ-
              ous event).

       HIST_IGNORE_DUPS (-h)
              Do not enter command lines into the history list if
              they are duplicates of the previous event.

       HIST_IGNORE_SPACE (-g)
              Remove command lines from the history list when the
              first character on the line is a space, or when one
              of  the  expanded aliases contains a leading space.
              Note that the command lingers in the internal  his-
              tory  until  the  next command is entered before it
              vanishes, allowing you to briefly reuse or edit the
              line.   If  you  want  to make it vanish right away
              without entering another command, type a space  and
              press return.

       HIST_NO_FUNCTIONS
              Remove  function definitions from the history list.
              Note that the function lingers in the internal his-
              tory  until  the  next command is entered before it
              vanishes, allowing you to briefly reuse or edit the
              definition.

       HIST_NO_STORE
              Remove the history (fc -l) command from the history
              list when invoked.  Note that the  command  lingers
              in  the  internal history until the next command is
              entered before it vanishes, allowing you to briefly
              reuse or edit the line.

       HIST_REDUCE_BLANKS
              Remove  superfluous  blanks  from each command line
              being added to the history list.

       HIST_SAVE_NO_DUPS
              When writing out the history file,  older  commands
              that duplicate newer ones are omitted.

       HIST_VERIFY
              Whenever the user enters a line with history expan-
              sion, don't execute  the  line  directly;  instead,
              perform  history expansion and reload the line into
              the editing buffer.

       INC_APPEND_HISTORY
              This options works like APPEND_HISTORY except  that
              new history lines are added to the $HISTFILE incre-
              mentally (as soon as they are entered), rather than
              waiting  until  the  shell  is killed.  The file is
              periodically trimmed to the number of lines  speci-
              fied  by  $SAVEHIST,  but  can  exceed  this  value
              between trimmings.

       SHARE_HISTORY 

              This option both imports new commands from the his-
              tory  file,  and also causes your typed commands to
              be appended to the history file (the latter is like
              specifying  INC_APPEND_HISTORY).  The history lines
              are also output with timestamps  ala  EXTENDED_HIS-
              TORY  (which makes it easier to find the spot where
              we left off reading the file after it gets re-writ-
              ten).

              By  default,  history  movement  commands visit the
              imported lines as well as the local lines, but  you
              can  toggle this on and off with the set-local-his-
              tory zle binding.  It is also possible to create  a
              zle  widget  that  will  make  some commands ignore
              imported commands, and some include them.

              If you find that you want more  control  over  when
              commands   get  imported,  you  may  wish  to  turn
              SHARE_HISTORY off, INC_APPEND_HISTORY on, and  then
              manually  import  commands  whenever  you need them
              using `fc -RI'.


   Initialisation
       ALL_EXPORT (-a, ksh: -a)
              All parameters subsequently defined  are  automati-
              cally exported.

       GLOBAL_EXPORT ()
              If  this  option is set, passing the -x flag to the
              builtins  declare,  float,  integer,  readonly  and
              typeset  (but not local) will also set the -g flag;
              hence parameters exported to the  environment  will
              not be made local to the enclosing function, unless
              they were already or the flag +g is  given  explic-
              itly.   If the option is unset, exported parameters
              will be made local in just  the  same  way  as  any
              other parameter.

              This option is set by default for backward compati-
              bility; it is not recommended that its behaviour be
              relied  upon.   Note that the builtin export always
              sets both the -x and -g flags, and hence its effect
              extends beyond the scope of the enclosing function;
              this is the  most  portable  way  to  achieve  this
              behaviour.

       GLOBAL_RCS (-d) 
              If   this   option  is  unset,  the  startup  files
              /etc/zprofile,    /etc/zshrc,    /etc/zlogin    and
              /etc/zlogout  will  not be run.  It can be disabled
              and re-enabled at any time, including inside  local
              startup files (.zshrc, etc.).

       RCS (+f) 
              After /etc/zshenv is sourced on startup, source the
              .zshenv,  /etc/zprofile,   .zprofile,   /etc/zshrc,
              .zshrc,  /etc/zlogin,  .zlogin, and .zlogout files,
              as described  in  the  section  `Files'.   If  this
              option  is  unset,  the  /etc/zshenv  file is still
              sourced, but any of the others will not be; it  can
              be set at any time to prevent the remaining startup
              files after the currently executing one from  being
              sourced.


   Input/Output
       ALIASES 
              Expand aliases.

       CLOBBER (+C, ksh: +C) 
              Allows  `>' redirection to truncate existing files,
              and `>>' to create files.  Otherwise `>!'  or  `>|'
              must be used to truncate a file, and `>>!' or `>>|'
              to create a file.

       CORRECT (-0)
              Try to correct  the  spelling  of  commands.   Note
              that,  when  the HASH_LIST_ALL option is not set or
              when some directories in the path are not readable,
              this  may  falsely report spelling errors the first
              time some commands are used.

       CORRECT_ALL (-O)
              Try to correct the spelling of all arguments  in  a
              line.

       DVORAK Use  the  Dvorak  keyboard  instead of the standard
              qwerty keyboard as a basis for  examining  spelling
              mistakes  for  the  CORRECT and CORRECT_ALL options
              and the spell-word editor command.

       FLOW_CONTROL 
              If this option is unset, output  flow  control  via
              start/stop  characters  (usually assigned to ^S/^Q)
              is disabled in the shell's editor.

       IGNORE_EOF (-7)
              Do not exit on end-of-file.   Require  the  use  of
              exit  or  logout instead.  However, ten consecutive
              EOFs will cause the shell to exit anyway, to  avoid
              the shell hanging if its tty goes away.

              Also, if this option is set and the Zsh Line Editor
              is used, widgets implemented by shell functions can
              be bound to EOF (normally Control-D) without print-
              ing the normal warning message.   This  works  only
              for normal widgets, not for completion widgets.

       INTERACTIVE_COMMENTS (-k)  
              Allow comments even in interactive shells.

       HASH_CMDS 
              Note the location of each command the first time it
              is executed.  Subsequent invocations  of  the  same
              command  will  use  the  saved location, avoiding a
              path search.  If this  option  is  unset,  no  path
              hashing  is  done at all.  However, when CORRECT is
              set, commands whose names  do  not  appear  in  the
              functions  or  aliases  hash  tables  are hashed in
              order to avoid reporting them as spelling errors.

       HASH_DIRS 
              Whenever a command name is hashed, hash the  direc-
              tory containing it, as well as all directories that
              occur earlier in the path.  Has no effect  if  nei-
              ther HASH_CMDS nor CORRECT is set.

       MAIL_WARNING (-U)
              Print  a  warning  message  if a mail file has been
              accessed since the shell last checked.

       PATH_DIRS (-Q)
              Perform a path search even on  command  names  with
              slashes  in  them.   Thus if `/usr/local/bin' is in
              the user's path, and he or she  types  `X11/xinit',
              the command `/usr/local/bin/X11/xinit' will be exe-
              cuted (assuming it  exists).   Commands  explicitly
              beginning  with  `/', `./' or `../' are not subject
              to the path search.  This also  applies  to  the  .
              builtin.

              Note  that  subdirectories of the current directory
              are always searched for  executables  specified  in
              this  form.   This  takes  place  before any search
              indicated by this option, and regardless of whether
              `.'  or the current directory appear in the command
              search path.

       PRINT_EIGHT_BIT
              Print eight bit characters literally in  completion
              lists,  etc.   This option is not necessary if your
              system correctly returns the printability of  eight
              bit characters (see ctype(3)).

       PRINT_EXIT_VALUE (-1)
              Print the exit value of programs with non-zero exit
              status.

       RC_QUOTES
              Allow the character sequence `''' to signify a sin-
              gle  quote within singly quoted strings.  Note this
              does not apply in quoted strings using  the  format
              $'...',  where  a  backslashed  single quote can be
              used.

       RM_STAR_SILENT (-H)  
              Do not query the user before executing  `rm  *'  or
              `rm path/*'.

       RM_STAR_WAIT
              If querying the user before executing `rm *' or `rm
              path/*', first wait ten seconds and ignore anything
              typed  in  that  time.   This avoids the problem of
              reflexively answering `yes' to the query  when  one
              didn't  really  mean  it.   The  wait and query can
              always be avoided by expanding the `*' in ZLE (with
              tab).

       SHORT_LOOPS  
              Allow  the  short forms of for, repeat, select, if,
              and function constructs.

       SUN_KEYBOARD_HACK (-L)
              If a line ends with a backquote, and there  are  an
              odd  number  of  backquotes on the line, ignore the
              trailing backquote.  This is useful  on  some  key-
              boards  where  the return key is too small, and the
              backquote key lies annoyingly close to it.


   Job Control
       AUTO_CONTINUE
              With this option set, stopped jobs that are removed
              from  the job table with the disown builtin command
              are automatically sent a CONT signal to  make  them
              running.

       AUTO_RESUME (-W)
              Treat  single word simple commands without redirec-
              tion as candidates for resumption  of  an  existing
              job.

       BG_NICE (-6)  
              Run  all background jobs at a lower priority.  This
              option is set by default.

       CHECK_JOBS 
              Report the status of background and suspended  jobs
              before  exiting  a shell with job control; a second
              attempt   to   exit   the   shell   will   succeed.
              NO_CHECK_JOBS is best used only in combination with
              NO_HUP, else such jobs  will  be  killed  automati-
              cally.

              The  check  is omitted if the commands run from the
              previous command line included  a  `jobs'  command,
              since  it  is  assumed the user is aware that there
              are background or suspended jobs.  A `jobs' command
              run  from  the  precmd  function is not counted for
              this purpose.

       HUP 
              Send the HUP signal to running jobs when the  shell
              exits.

       LONG_LIST_JOBS (-R)
              List jobs in the long format by default.

       MONITOR (-m, ksh: -m)
              Allow  job  control.  Set by default in interactive
              shells.

       NOTIFY (-5, ksh: -b) 
              Report the status of background  jobs  immediately,
              rather  than  waiting  until just before printing a
              prompt.


   Prompting
       PROMPT_BANG 
              If set, `!' is treated specially in  prompt  expan-
              sion.  See the section `Prompt Expansion'.

       PROMPT_CR (+V) 
              Print  a  carriage  return  just  before printing a
              prompt in the line editor.  This is on  by  default
              as  multi-line editing is only possible if the edi-
              tor knows where the start of the line appears.

       PROMPT_PERCENT  
              If set, `%' is treated specially in  prompt  expan-
              sion.  See the section `Prompt Expansion'.

       PROMPT_SUBST 
              If  set,  parameter expansion, command substitution
              and arithmetic expansion are performed in  prompts.
              Substitutions within prompts do not affect the com-
              mand status.

       TRANSIENT_RPROMPT
              Remove any right prompt from display when accepting
              a  command line.  This may be useful with terminals
              with other cut/paste methods.


   Scripts and Functions
       C_BASES
              Output hexadecimal numbers in the standard  C  for-
              mat,  for  example  `0xFF'  instead  of  the  usual
              `16#FF'.  If the option OCTAL_ZEROES  is  also  set
              (it  is  not  by  default),  octal  numbers will be
              treated similarly and hence appear as `077' instead
              of `8#77'.  This option has no effect on the choice
              of the output base, nor  on  the  output  of  bases
              other  than hexadecimal and octal.  Note that these
              formats will be understood on input irrespective of
              the setting of C_BASES.

       ERR_EXIT (-e, ksh: -e)
              If  a  command  has a non-zero exit status, execute
              the ZERR trap, if set, and exit.  This is  disabled
              while running initialization scripts.

       ERR_RETURN
              If  a  command  has  a non-zero exit status, return
              immediately from the enclosing function.  The logic
              is  identical  to that for ERR_EXIT, except that an
              implicit return statement is executed instead of an
              exit.   This  will trigger an exit at the outermost
              level of a non-interactive script.

       EVAL_LINENO 
              If set, line numbers of expressions evaluated using
              the  builtin  eval  are  tracked  separately of the
              enclosing environment.  This applies  both  to  the
              parameter  LINENO and the line number output by the
              prompt escape %i.  If the option is set, the prompt
              escape  %N  will output the string `(eval)' instead
              of the script or function name  as  an  indication.
              (The  two  prompt escapes are typically used in the
              parameter PS4 to be output when the  option  XTRACE
              is  set.)  If EVAL_LINENO is unset, the line number
              of the surrounding script or function  is  retained
              during the evaluation.

       EXEC (+n, ksh: +n) 
              Do execute commands.  Without this option, commands
              are read and checked for  syntax  errors,  but  not
              executed.   This  option cannot be turned off in an
              interactive shell, except when `-n' is supplied  to
              the shell at startup.

       FUNCTION_ARGZERO  
              When  executing  a  shell  function  or  sourcing a
              script, set $0 temporarily to the name of the func-
              tion/script.

       LOCAL_OPTIONS 
              If this option is set at the point of return from a
              shell function, all  the  options  (including  this
              one) which were in force upon entry to the function
              are restored.  Otherwise, only this option and  the
              XTRACE  and  PRINT_EXIT_VALUE options are restored.
              Hence if this is explicitly unset by a shell  func-
              tion  the  other  options  in force at the point of
              return will remain so.  A shell function  can  also
              guarantee itself a known shell configuration with a
              formulation like `emulate -L zsh'; the -L activates
              LOCAL_OPTIONS.

       LOCAL_TRAPS 
              If  this  option  is  set when a signal trap is set
              inside a function, then the previous status of  the
              trap  for  that  signal  will  be restored when the
              function exits.  Note that this option must be  set
              prior to altering the trap behaviour in a function;
              unlike LOCAL_OPTIONS, the value on  exit  from  the
              function  is irrelevant.  However, it does not need
              to be set before any global trap  for  that  to  be
              correctly restored by a function.  For example,

                     unsetopt localtraps
                     trap - INT
                     fn() { setopt localtraps; trap '' INT; sleep 3; }

              will  restore normally handling of SIGINT after the
              function exits.

       MULTIOS 
              Perform implicit tees or cats when  multiple  redi-
              rections  are  attempted (see the section `Redirec-
              tion').

       OCTAL_ZEROES 
              Interpret any integer constant beginning with  a  0
              as   octal,   per   IEEE   Std   1003.2-1992   (ISO
              9945-2:1993).  This is not enabled by default as it
              causes  problems with parsing of, for example, date
              and time strings with leading zeroes.

       TYPESET_SILENT
              If this is unset, executing any  of  the  `typeset'
              family  of  commands  with no options and a list of
              parameters that have no values to be  assigned  but
              already exist will display the value of the parame-
              ter.  If the option is set, they will only be shown
              when  parameters are selected with the `-m' option.
              The option `-p' is available  whether  or  not  the
              option is set.

       VERBOSE (-v, ksh: -v)
              Print shell input lines as they are read.

       XTRACE (-x, ksh: -x)
              Print commands and their arguments as they are exe-
              cuted.


   Shell Emulation
       BSD_ECHO 
              Make the  echo  builtin  compatible  with  the  BSD
              echo(1)  command.  This disables backslashed escape
              sequences in echo strings unless the -e  option  is
              specified.

       CSH_JUNKIE_HISTORY 
              A history reference without an event specifier will
              always refer to the previous command.  Without this
              option, such a history reference refers to the same
              event as the previous history reference, defaulting
              to the previous command.

       CSH_JUNKIE_LOOPS 
              Allow  loop  bodies  to  take  the form `list; end'
              instead of `do list; done'.

       CSH_JUNKIE_QUOTES 
              Changes the rules  for  single-  and  double-quoted
              text  to  match  that  of  csh.  These require that
              embedded  newlines  be  preceded  by  a  backslash;
              unescaped newlines will cause an error message.  In
              double-quoted strings, it  is  made  impossible  to
              escape  `$',  ``'  or `"' (and `\' itself no longer
              needs escaping).  Command  substitutions  are  only
              expanded once, and cannot be nested.

       CSH_NULLCMD 
              Do  not  use  the values of NULLCMD and READNULLCMD
              when running redirections with  no  command.   This
              make such redirections fail (see the section `Redi-
              rection').

       KSH_ARRAYS  
              Emulate ksh array handling as closely as  possible.
              If  this option is set, array elements are numbered
              from zero, an  array  parameter  without  subscript
              refers  to  the  first element instead of the whole
              array, and braces are required to  delimit  a  sub-
              script  (`${path[2]}' rather than just `$path[2]').

       KSH_AUTOLOAD  
              Emulate ksh function autoloading.  This means  that
              when  a  function  is autoloaded, the corresponding
              file is merely executed, and must define the  func-
              tion  itself.  (By default, the function is defined
              to the contents of the  file.   However,  the  most
              common ksh-style case - of the file containing only
              a simple definition of the  function  -  is  always
              handled in the ksh-compatible manner.)

       KSH_OPTION_PRINT 
              Alters   the  way  options  settings  are  printed:
              instead of separate lists of set and unset options,
              all  options  are shown, marked `on' if they are in
              the non-default state, `off' otherwise.

       KSH_TYPESET 
              Alters the way arguments to the typeset  family  of
              commands,  including  declare, export, float, inte-
              ger, local and readonly,  are  processed.   Without
              this option, zsh will perform normal word splitting
              after command and parameter expansion in  arguments
              of  an assignment; with it, word splitting does not
              take place in those cases.

       POSIX_BUILTINS  
              When this option is set the command builtin can  be
              used  to execute shell builtin commands.  Parameter
              assignments specified before  shell  functions  and
              special  builtins  are  kept after the command com-
              pletes unless the special builtin is prefixed  with
              the  command  builtin.   Special builtins are ., :,
              break, continue, declare, eval, exit, export, inte-
              ger,  local,  readonly, return, set, shift, source,
              times, trap and unset.

       SH_FILE_EXPANSION  
              Perform  filename  expansion  (e.g.,  ~  expansion)
              before  parameter  expansion, command substitution,
              arithmetic expansion and brace expansion.  If  this
              option is unset, it is performed after brace expan-
              sion, so  things  like  `~$USERNAME'  and  `~{pfal-
              stad,rc}' will work.

       SH_NULLCMD  
              Do  not  use  the values of NULLCMD and READNULLCMD
              when doing redirections, use `:' instead  (see  the
              section `Redirection').

       SH_OPTION_LETTERS  
              If  this option is set the shell tries to interpret
              single letter options (which are used with set  and
              setopt) like ksh does.  This also affects the value
              of the - special parameter.

       SH_WORD_SPLIT (-y)  
              Causes field splitting to be performed on  unquoted
              parameter  expansions.   Note  that this option has
              nothing  to  do  with  word  splitting.   (See  the
              section `Parameter Expansion'.)

       TRAPS_ASYNC
              While waiting for a program to exit, handle signals
              and run traps immediately.  Otherwise the  trap  is
              run  after  a  child process has exited.  Note this
              does not affect the point at which  traps  are  run
              for  any  case other than when the shell is waiting
              for a child process.


   Shell State
       INTERACTIVE (-i, ksh: -i)
              This is an interactive shell.  This option  is  set
              upon  initialisation if the standard input is a tty
              and commands are being read  from  standard  input.
              (See the discussion of SHIN_STDIN.)  This heuristic
              may be overridden by specifying a  state  for  this
              option  on  the  command  line.   The value of this
              option cannot be changed anywhere  other  than  the
              command line.

       LOGIN (-l, ksh: -l)
              This  is  a  login  shell.   If  this option is not
              explicitly set, the shell is a login shell  if  the
              first  character of the argv[0] passed to the shell
              is a `-'.

       PRIVILEGED (-p, ksh: -p)
              Turn on privileged mode. This is enabled  automati-
              cally  on  startup if the effective user (group) ID
              is not equal to the real user (group) ID.   Turning
              this option off causes the effective user and group
              IDs to be set to the real user and group IDs.  This
              option  disables  sourcing  user startup files.  If
              zsh is invoked as `sh' or `ksh'  with  this  option
              set,  /etc/suid_profile is sourced (after /etc/pro-
              file on interactive shells). Sourcing ~/.profile is
              disabled  and  the  contents of the ENV variable is
              ignored. This option cannot be changed using the -m
              option  of  setopt  and  unsetopt,  and changing it
              inside  a  function  always  changes  it   globally
              regardless of the LOCAL_OPTIONS option.

       RESTRICTED (-r)
              Enables  restricted  mode.   This  option cannot be
              changed using unsetopt, and  setting  it  inside  a
              function  always  changes it globally regardless of
              the  LOCAL_OPTIONS   option.    See   the   section
              `Restricted Shell'.

       SHIN_STDIN (-s, ksh: -s)
              Commands  are  being  read from the standard input.
              Commands are read from standard input if no command
              is  specified  with  -c  and no file of commands is
              specified.  If SHIN_STDIN is set explicitly on  the
              command  line,  any  argument  that would otherwise
              have been taken as a file to run  will  instead  be
              treated  as  a  normal  positional parameter.  Note
              that setting or unsetting this option on  the  com-
              mand line does not necessarily affect the state the
              option will have while the shell is running -  that
              is  purely  an indicator of whether on not commands
              are actually being read from standard  input.   The
              value  of  this  option  cannot be changed anywhere
              other than the command line.

       SINGLE_COMMAND (-t, ksh: -t)
              If the shell is reading  from  standard  input,  it
              exits  after  a  single  command has been executed.
              This also makes the shell  non-interactive,  unless
              the  INTERACTIVE  option  is  explicitly set on the
              command line.  The value of this option  cannot  be
              changed anywhere other than the command line.


   Zle
       BEEP (+B) 
              Beep on error in ZLE.

       EMACS  If  ZLE  is  loaded, turning on this option has the
              equivalent effect of `bindkey  -e'.   In  addition,
              the  VI  option  is  unset.   Turning it off has no
              effect.  The option setting is  not  guaranteed  to
              reflect  the  current  keymap.  This option is pro-
              vided for compatibility; bindkey is the recommended
              interface.

       OVERSTRIKE
              Start up the line editor in overstrike mode.

       SINGLE_LINE_ZLE (-M) 
              Use  single-line  command  line  editing instead of
              multi-line.

       VI     If ZLE is loaded, turning on this  option  has  the
              equivalent  effect  of  `bindkey -v'.  In addition,
              the EMACS option is unset.  Turning it off  has  no
              effect.   The  option  setting is not guaranteed to
              reflect the current keymap.  This  option  is  pro-
              vided for compatibility; bindkey is the recommended
              interface.

       ZLE (-Z)
              Use the zsh line editor.  Set by default in  inter-
              active shells connected to a terminal.


OPTION ALIASES
       Some  options  have  alternative names.  These aliases are
       never used for output, but can be used  just  like  normal
       option names when specifying options to the shell.

       BRACE_EXPAND
              NO_IGNORE_BRACES (ksh and bash compatibility)

       DOT_GLOB
              GLOB_DOTS (bash compatibility)

       HASH_ALL
              HASH_CMDS (bash compatibility)

       HIST_APPEND
              APPEND_HISTORY (bash compatibility)

       HIST_EXPAND
              BANG_HIST (bash compatibility)

       LOG    NO_HIST_NO_FUNCTIONS (ksh compatibility)

       MAIL_WARN
              MAIL_WARNING (bash compatibility)

       ONE_CMD
              SINGLE_COMMAND (bash compatibility)

       PHYSICAL
              CHASE_LINKS (ksh and bash compatibility)

       PROMPT_VARS
              PROMPT_SUBST (bash compatibility)

       STDIN  SHIN_STDIN (ksh compatibility)

       TRACK_ALL
              HASH_CMDS (ksh compatibility)

SINGLE LETTER OPTIONS
   Default set
       -0     CORRECT
       -1     PRINT_EXIT_VALUE
       -2     NO_BAD_PATTERN
       -3     NO_NOMATCH
       -4     GLOB_DOTS
       -5     NOTIFY
       -6     BG_NICE
       -7     IGNORE_EOF
       -8     MARK_DIRS
       -9     AUTO_LIST
       -B     NO_BEEP
       -C     NO_CLOBBER
       -D     PUSHD_TO_HOME
       -E     PUSHD_SILENT
       -F     NO_GLOB
       -G     NULL_GLOB
       -H     RM_STAR_SILENT
       -I     IGNORE_BRACES
       -J     AUTO_CD
       -K     NO_BANG_HIST
       -L     SUN_KEYBOARD_HACK
       -M     SINGLE_LINE_ZLE
       -N     AUTO_PUSHD
       -O     CORRECT_ALL
       -P     RC_EXPAND_PARAM
       -Q     PATH_DIRS
       -R     LONG_LIST_JOBS
       -S     REC_EXACT
       -T     CDABLE_VARS
       -U     MAIL_WARNING
       -V     NO_PROMPT_CR
       -W     AUTO_RESUME
       -X     LIST_TYPES
       -Y     MENU_COMPLETE
       -Z     ZLE
       -a     ALL_EXPORT
       -e     ERR_EXIT
       -f     NO_RCS
       -g     HIST_IGNORE_SPACE
       -h     HIST_IGNORE_DUPS
       -i     INTERACTIVE
       -k     INTERACTIVE_COMMENTS
       -l     LOGIN
       -m     MONITOR
       -n     NO_EXEC
       -p     PRIVILEGED
       -r     RESTRICTED
       -s     SHIN_STDIN
       -t     SINGLE_COMMAND
       -u     NO_UNSET
       -v     VERBOSE
       -w     CHASE_LINKS
       -x     XTRACE
       -y     SH_WORD_SPLIT

   sh/ksh emulation set
       -C     NO_CLOBBER
       -T     TRAPS_ASYNC
       -X     MARK_DIRS
       -a     ALL_EXPORT
       -b     NOTIFY
       -e     ERR_EXIT
       -f     NO_GLOB
       -i     INTERACTIVE
       -l     LOGIN
       -m     MONITOR
       -n     NO_EXEC
       -p     PRIVILEGED
       -r     RESTRICTED
       -s     SHIN_STDIN
       -t     SINGLE_COMMAND
       -u     NO_UNSET
       -v     VERBOSE
       -x     XTRACE

   Also note
       -A     Used by set for setting arrays
       -b     Used  on  the command line to specify end of option
              processing
       -c     Used on the command line to specify a  single  com-
              mand
       -m     Used by setopt for pattern-matching option setting
       -o     Used  in  all  places  to  allow use of long option
              names
       -s     Used by set to sort positional parameters



zsh 4.2.5                 April 6, 2005             ZSHOPTIONS(1)

Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA