| export LC_ALL=C |
| export LANG=C |
| |
| dirs -c |
| # error -- nonexistant directory |
| pushd /tmp/xxx-notthere |
| |
| # errors -- empty stack |
| pushd |
| popd |
| |
| # errors -- bad numeric arguments -- should not cause the script to exit |
| pushd -m |
| popd -m |
| dirs -m |
| dirs 7 |
| |
| MYDIR=$PWD |
| unalias cd 2>/dev/null |
| |
| unalias -a |
| |
| command cd -P / |
| command pwd -P # better be `/' |
| |
| case "$OLDPWD" in |
| $MYDIR) echo ok ;; |
| *) echo oops -- bad \$OLDPWD ;; |
| esac |
| |
| pushd /usr |
| echo $PWD $OLDPWD |
| dirs |
| echo ${DIRSTACK[@]} |
| |
| # this should not change the directory stack at all |
| pushd -n +0 |
| dirs |
| |
| popd |
| pushd /usr |
| |
| pushd /etc |
| dirs |
| dirs -l |
| dirs -v |
| |
| # two consecutive `pushd's should swap the top two stack elements, then |
| # swap them back, leaving the stack intact |
| pushd |
| pushd |
| |
| pushd /tmp |
| echo ${DIRSTACK[0]} ; dirs +0 |
| echo ${DIRSTACK[2]} ; dirs +2 |
| |
| # these should be errors, but not affect the directory stack |
| dirs +9; dirs -9 |
| pushd +9 ; pushd -9 |
| popd +9 ; popd -9 |
| |
| popd -n +2 |
| dirs |
| echo ${DIRSTACK[@]} |
| |
| pushd -n /usr |
| echo $PWD |
| dirs |
| echo ${DIRSTACK[@]} |
| |
| builtin pwd |
| |
| DIRSTACK[1]=/bin |
| dirs |
| |
| builtin pwd |
| popd +2 |
| builtin pwd -L |
| pushd -1 |
| dirs |
| echo ${DIRSTACK[0]} |
| |
| dirs -c |
| dirs |
| |
| # this is for the benefit of pure coverage |
| cd "$MYDIR" |