1. 程式人生 > >pushd和popd的使用(ex37.sh)

pushd和popd的使用(ex37.sh)

#!/bin/bash

dir1=/usr/local
dir2=/var/spool

pushd $dir1
# Will do an automatic 'dirs' (list directory stack to stdout).
echo "Now in directory `pwd`." # Uses back-quoted 'pwd'.

# Now, do some stuff in directory 'dir1'.
pushd $dir2
echo "Now in directory `pwd`."

# Now, do some stuff in directory 'dir2'.
echo "The top entry in the DIRSTACK array is $DIRSTACK."
popd
echo "Now back in directory `pwd`."

# Now, do some more stuff in directory 'dir1'.
popd
echo "Now back in original working directory `pwd`."

exit 0

# What happens if you don't 'popd' -- then exit the script?
# Which directory do you end up in? Why?
[[email protected] shell]# ./ex37.sh
/usr/local /home/shell
Now in directory /usr/local.
/var/spool /usr/local /home/shell
Now in directory /var/spool.
The top entry in the DIRSTACK array is /var/spool.
/usr/local /home/shell
Now back in directory /usr/local.
/home/shell
Now back in original working directory /home/shell.