Linux Shell脚本获得当前文件路径

在php当中获得当前文件路径用:

       dirname(__FILE__)

在shell当中没有直接的变量和函数,

$(cd "$(dirname "$0")"; pwd)

但是把他用在嵌套脚本时就会发生问题。例如我在脚本a里面调用脚本b。
脚本b:
selfpath=$(cd "$(dirname "$0")"; pwd)
echo $selfpath
脚本a:
. b.sh
最后输出的结果是脚本a的绝对路径,而不是脚本b的绝对路径。我发现问题出在$0这个地方。这个时候的$0是脚本a的路径名称。


或者,test=`dirname $0`
echo $test 
可以解决

相关推荐