如何检测运行shell脚本的目录名称(或者更好的是整个路径?)
答案 0 :(得分:20)
首先尝试
man pwd
$PWD
答案 1 :(得分:16)
我认为,这是最便携的方式:
dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
答案 2 :(得分:3)
这并不像它看起来那么简单。查看this question和this
答案 3 :(得分:0)
替代方法
pid=$$
path=$(ps -eo pid,args| awk -vp=$pid '$1~p{print $3}')
case "$path" in
./* ) pwd;;
* ) echo $path;;
esac