cat /data/test/test.sh
path=$(cd `dirname $0`;pwd)
echo $path
sh /data/test/test.sh ==>/data/test
#不管在任何路径下执行这个脚本,都会返回/data/test,脚本所在目录
在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的。因为他返回当前路径的"."。
这个命令写在脚本文件里才有作用,他返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置(绝对位置除外)
$0:当前Shell程序的文件名
dirname $0,获取当前Shell程序的路径
cd `dirname $0`,进入当前Shell程序的目录