home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / AP / ASH / ASH-LINU.2 / ASH-LINU / ash-linux-0.2 / funcs / pushd < prev    next >
Encoding:
Text File  |  1993-03-22  |  2.5 KB  |  76 lines

  1. # Copyright (c) 1991 The Regents of the University of California.
  2. # All rights reserved.
  3. #
  4. # This code is derived from software contributed to Berkeley by
  5. # Kenneth Almquist.
  6. #
  7. # Redistribution and use in source and binary forms, with or without
  8. # modification, are permitted provided that the following conditions
  9. # are met:
  10. # 1. Redistributions of source code must retain the above copyright
  11. #    notice, this list of conditions and the following disclaimer.
  12. # 2. Redistributions in binary form must reproduce the above copyright
  13. #    notice, this list of conditions and the following disclaimer in the
  14. #    documentation and/or other materials provided with the distribution.
  15. # 3. All advertising materials mentioning features or use of this software
  16. #    must display the following acknowledgement:
  17. #    This product includes software developed by the University of
  18. #    California, Berkeley and its contributors.
  19. # 4. Neither the name of the University nor the names of its contributors
  20. #    may be used to endorse or promote products derived from this software
  21. #    without specific prior written permission.
  22. #
  23. # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  24. # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  25. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  26. # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  27. # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  28. # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  29. # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  30. # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  31. # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  32. # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  33. # SUCH DAMAGE.
  34. #
  35. #    @(#)pushd    5.1 (Berkeley) 3/7/91
  36. #
  37. #    /b/source/CVS/src/bin/sh/funcs/pushd,v 1.3 1993/03/23 00:29:58 cgd Exp
  38.  
  39. # pushd, popd, and dirs --- written by Chris Bertin
  40. # Pixel Computer Inc. ...!wjh12!pixel!pixutl!chris
  41. # as modified by Patrick Elam of GTRI and Kenneth Almquist at UW
  42.  
  43. pushd () {
  44.     SAVE=`pwd`
  45.     if [ "$1" = "" ] 
  46.     then    if [ "$DSTACK" = "" ]
  47.         then    echo "pushd: directory stack empty."
  48.             return 1
  49.         fi
  50.         set $DSTACK
  51.         cd $1 || return
  52.         shift 1
  53.         DSTACK="$*"
  54.     else    cd $1 > /dev/null || return
  55.     fi
  56.     DSTACK="$SAVE $DSTACK"
  57.     dirs
  58. }
  59.  
  60. popd () {
  61.     if [ "$DSTACK" = "" ] 
  62.     then    echo "popd: directory stack empty."
  63.         return 1
  64.     fi
  65.     set $DSTACK
  66.     cd $1
  67.     shift
  68.     DSTACK=$*
  69.     dirs
  70. }
  71.  
  72. dirs () {
  73.     echo "`pwd` $DSTACK"
  74.     return 0
  75. }
  76.