如何检测我运行shell脚本的当前目录?

时间:2009-11-30 01:57:59

标签: shell

如何检测运行shell脚本的目录名称(或者更好的是整个路径?)

4 个答案:

答案 0 :(得分:20)

什么外壳?什么操作系统?

首先尝试

man pwd
$PWD

答案 1 :(得分:16)

我认为,这是最便携的方式:

dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)

答案 2 :(得分:3)

这并不像它看起来那么简单。查看this questionthis

答案 3 :(得分:0)

替代方法

pid=$$
path=$(ps -eo pid,args| awk -vp=$pid '$1~p{print $3}')
case "$path" in
    ./* ) pwd;;
    * ) echo $path;;
esac