cd [ -qsLP ] [ arg ]
cd [ -qsLP ] old new
cd [ -qsLP ] {+|-}n
       Change the current directory.  In the first form, change the cur-
       rent  directory  to  arg,  or to the value of $HOME if arg is not
       specified.  If arg is `-', change to the previous directory.

       Otherwise, if arg begins with a slash, attempt to change  to  the
       directory given by arg.

       If  arg  does  not  begin  with a slash, the behaviour depends on
       whether the current directory `.' occurs in the list of  directo-
       ries  contained  in  the shell parameter cdpath.  If it does not,
       first attempt to change to the directory arg  under  the  current
       directory,  and  if  that fails but cdpath is set and contains at
       least one element attempt to change to the  directory  arg  under
       each component of cdpath in turn until successful.  If `.' occurs
       in  cdpath, then cdpath is searched strictly in order so that `.'
       is only tried at the appropriate point.

       The order of testing cdpath is modified if the option POSIX_CD is
       set, as described in the documentation for the option.

       If no directory is found, the option CDABLE_VARS is  set,  and  a
       parameter named arg exists whose value begins with a slash, treat
       its value as the directory.  In that case, the parameter is added
       to the named directory hash table.

       The  second  form of cd substitutes the string new for the string
       old in the name of the current directory, and tries to change  to
       this new directory.

       The  third form of cd extracts an entry from the directory stack,
       and changes to that directory.  An  argument  of  the  form  `+n'
       identifies  a  stack  entry by counting from the left of the list
       shown by the dirs command, starting with zero.   An  argument  of
       the  form  `-n' counts from the right.  If the PUSHD_MINUS option
       is set, the meanings of `+' and `-' in this context are  swapped.
       If  the POSIX_CD option is set, this form of cd is not recognised
       and will be interpreted as the first form.

       If the -q (quiet) option is specified, the  hook  function  chpwd
       and  the  functions  in the array chpwd_functions are not called.
       This is useful for calls to cd that do not change the environment
       seen by an interactive user.

       If the -s option is specified, cd refuses to change  the  current
       directory if the given pathname contains symlinks.  If the -P op-
       tion  is  given  or the CHASE_LINKS option is set, symbolic links
       are resolved to their true values.  If the  -L  option  is  given
       symbolic  links  are retained in the directory (and not resolved)
       regardless of the state of the CHASE_LINKS option.

chdir  Same as cd.
