pushd和popd的使用(ex37.sh)
阿新 • • 發佈:2019-02-04
[[email protected] shell]# ./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?
/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.