#!/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=''