1139969Simp#!/bin/sh 2139969Simp 3139969Simp#- 41556Srgrimes# Copyright (c) 1991, 1993 51556Srgrimes# The Regents of the University of California. All rights reserved. 61556Srgrimes# 71556Srgrimes# This code is derived from software contributed to Berkeley by 81556Srgrimes# Kenneth Almquist. 91556Srgrimes# 101556Srgrimes# Redistribution and use in source and binary forms, with or without 111556Srgrimes# modification, are permitted provided that the following conditions 121556Srgrimes# are met: 131556Srgrimes# 1. Redistributions of source code must retain the above copyright 141556Srgrimes# notice, this list of conditions and the following disclaimer. 151556Srgrimes# 2. Redistributions in binary form must reproduce the above copyright 161556Srgrimes# notice, this list of conditions and the following disclaimer in the 171556Srgrimes# documentation and/or other materials provided with the distribution. 181556Srgrimes# 4. Neither the name of the University nor the names of its contributors 191556Srgrimes# may be used to endorse or promote products derived from this software 201556Srgrimes# without specific prior written permission. 211556Srgrimes# 221556Srgrimes# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 231556Srgrimes# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 241556Srgrimes# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 251556Srgrimes# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 261556Srgrimes# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 271556Srgrimes# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 281556Srgrimes# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 291556Srgrimes# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 301556Srgrimes# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 311556Srgrimes# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 321556Srgrimes# SUCH DAMAGE. 331556Srgrimes# 3417987Speter# @(#)dirs 8.2 (Berkeley) 5/4/95 3550471Speter# $FreeBSD$ 361556Srgrimes 371556Srgrimes# pushd, popd, and dirs --- written by Chris Bertin 381556Srgrimes# Pixel Computer Inc. ...!wjh12!pixel!pixutl!chris 391556Srgrimes# as modified by Patrick Elam of GTRI and Kenneth Almquist at UW 401556Srgrimes 411556Srgrimespushd () { 421556Srgrimes SAVE=`pwd` 431556Srgrimes if [ "$1" = "" ] 441556Srgrimes then if [ "$DSTACK" = "" ] 451556Srgrimes then echo "pushd: directory stack empty." 461556Srgrimes return 1 471556Srgrimes fi 481556Srgrimes set $DSTACK 491556Srgrimes cd $1 || return 501556Srgrimes shift 1 511556Srgrimes DSTACK="$*" 521556Srgrimes else cd $1 > /dev/null || return 531556Srgrimes fi 541556Srgrimes DSTACK="$SAVE $DSTACK" 551556Srgrimes dirs 561556Srgrimes} 571556Srgrimes 581556Srgrimespopd () { 591556Srgrimes if [ "$DSTACK" = "" ] 601556Srgrimes then echo "popd: directory stack empty." 611556Srgrimes return 1 621556Srgrimes fi 631556Srgrimes set $DSTACK 641556Srgrimes cd $1 651556Srgrimes shift 661556Srgrimes DSTACK=$* 671556Srgrimes dirs 681556Srgrimes} 691556Srgrimes 701556Srgrimesdirs () { 711556Srgrimes echo "`pwd` $DSTACK" 721556Srgrimes return 0 731556Srgrimes} 74