#!/bin/rc
# pushd - push onto the directory stack
# fn pushd {. /bin/pushd $*}
if(~ $#* 0){
if(~ $#dirstack 0)
echo >[1=2] pushd: dirstack empty
if not{
dir=$dirstack(1)
dirstack=(`{pwd} $dirstack(2-))
}
}
if not{
dir=`{cleanname -d `{pwd} $1}
dirstack=(`{pwd} $dirstack)
}
if(! ~ $#dirstack 0)
cd $dir && dirs
status=''
|