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