popd revision 1.1
11.1Scgd# Copyright (c) 1991 The Regents of the University of California.
21.1Scgd# All rights reserved.
31.1Scgd#
41.1Scgd# This code is derived from software contributed to Berkeley by
51.1Scgd# Kenneth Almquist.
61.1Scgd#
71.1Scgd# Redistribution and use in source and binary forms, with or without
81.1Scgd# modification, are permitted provided that the following conditions
91.1Scgd# are met:
101.1Scgd# 1. Redistributions of source code must retain the above copyright
111.1Scgd#    notice, this list of conditions and the following disclaimer.
121.1Scgd# 2. Redistributions in binary form must reproduce the above copyright
131.1Scgd#    notice, this list of conditions and the following disclaimer in the
141.1Scgd#    documentation and/or other materials provided with the distribution.
151.1Scgd# 3. All advertising materials mentioning features or use of this software
161.1Scgd#    must display the following acknowledgement:
171.1Scgd#	This product includes software developed by the University of
181.1Scgd#	California, Berkeley and its contributors.
191.1Scgd# 4. Neither the name of the University nor the names of its contributors
201.1Scgd#    may be used to endorse or promote products derived from this software
211.1Scgd#    without specific prior written permission.
221.1Scgd#
231.1Scgd# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
241.1Scgd# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
251.1Scgd# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
261.1Scgd# ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
271.1Scgd# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
281.1Scgd# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
291.1Scgd# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
301.1Scgd# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
311.1Scgd# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
321.1Scgd# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
331.1Scgd# SUCH DAMAGE.
341.1Scgd#
351.1Scgd#	@(#)popd	5.1 (Berkeley) 3/7/91
361.1Scgd
371.1Scgd# pushd, popd, and dirs --- written by Chris Bertin
381.1Scgd# Pixel Computer Inc. ...!wjh12!pixel!pixutl!chris
391.1Scgd# as modified by Patrick Elam of GTRI and Kenneth Almquist at UW
401.1Scgd
411.1Scgdpushd () {
421.1Scgd	SAVE=`pwd`
431.1Scgd	if [ "$1" = "" ] 
441.1Scgd	then	if [ "$DSTACK" = "" ]
451.1Scgd		then	echo "pushd: directory stack empty."
461.1Scgd			return 1
471.1Scgd		fi
481.1Scgd		set $DSTACK
491.1Scgd		cd $1 || return
501.1Scgd		shift 1
511.1Scgd		DSTACK="$*"
521.1Scgd	else	cd $1 > /dev/null || return
531.1Scgd	fi
541.1Scgd	DSTACK="$SAVE $DSTACK"
551.1Scgd	dirs
561.1Scgd}
571.1Scgd
581.1Scgdpopd () {
591.1Scgd	if [ "$DSTACK" = "" ] 
601.1Scgd	then	echo "popd: directory stack empty."
611.1Scgd		return 1
621.1Scgd	fi
631.1Scgd	set $DSTACK
641.1Scgd	cd $1
651.1Scgd	shift
661.1Scgd	DSTACK=$*
671.1Scgd	dirs
681.1Scgd}
691.1Scgd
701.1Scgddirs () {
711.1Scgd	echo "`pwd` $DSTACK"
721.1Scgd	return 0
731.1Scgd}
74