cd [ -qsLP ] [ arg ]
cd [ -qsLP ] old new
cd [ -qsLP ] {+|-}n
       Change  the  current  directory.   In the first form, change the
       current 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  `.'  oc-
       curs  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 environ-
       ment 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
       option 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.
