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 spec-
       ified.  If arg is `-', change to the previous directory.

       Otherwise, if arg begins with a slash, attempt to change to the di-
       rectory given by arg.

       If arg does not begin  with  a  slash,  the  behaviour  depends  on
       whether the current directory `.' occurs in the list of directories
       contained in the shell parameter cdpath.  If it does not, first at-
       tempt  to  change to the directory arg under the current directory,
       and if that fails but cdpath is set and contains at least one  ele-
       ment attempt to change to the directory arg under each component of
       cdpath in turn until successful.  If `.' occurs in cdpath, then cd-
       path 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  pa-
       rameter 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'  iden-
       tifies 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 mean-
       ings  of  `+' and `-' in this context are swapped.  If the POSIX_CD
       option is set, this form of cd is not recognised and will be inter-
       preted 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 di-
       rectory if the given pathname contains symlinks.  If the -P  option
       is  given  or the CHASE_LINKS option is set, symbolic links are re-
       solved 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.
