カレントディレクトリではなく,sh スクリプト自身のあるディレクトリ.
#!/bin/sh
cd ${0%/*}/
SHDIR=`pwd`
で SHDIR に目的のディレクトリが入る.末尾に / が付いているため,スクリプトが / にあっても問題ない.PATH を通して実行しても,スクリプトには展開済みのパスが渡されるらしく,問題なく実行できそう.
ただし,スクリプト内部からさらに source するスクリプトでは,$0 に bash という文字列が入るらしく,うまくいかない.また,csh の場合,構文が異なるため当然うまくいかない.