pushd [ -qsLP ] [ arg ]
pushd [ -qsLP ] old new
pushd [ -qsLP ] {+|-}n
       Change the current directory, and push the old cur-
       onto the  directory  stack.   In  the  first  form,
       directory  to arg.  If arg is not specified, change
       directory  on the stack (that is, exchange the  top
       or change to $HOME if the PUSHD TO HOME  option  is
       there  is only one entry on the stack.   Otherwise,
       preted  as  it  would be by cd.  The meaning of old
       second form is also the same as for cd.

       The third form of pushd changes directory by rotat-
       tory list.  An argument of the  form  `+n'  identi-
       entry  by  counting  from  the  left  of  the  list
       command,  starting  with  zero.    An  argument  of
       counts  from  the  right.  If the PUSHD  MINUS  op-
       meanings  of  `+'  and  `-'  in  this  context  are

       If the -q (quiet) option  is  specified,  the  hook
       and   the  functions  in the array $chpwd functions
       and the new directory stack is not  printed.   This
       calls   to  pushd  that  do not change the environ-
       interactive user.

       If  the  option  -q  is  not  specified   and   the
       PUSHD  SILENT   is   not  set,  the directory stack
       after a pushd is performed.

       The options -s, -L and -P have the same meanings as
       builtin.
