如何检测我的Shell脚本所在的目录名称(或更好的是整个路径)?
如何检测我的Shell脚本所在的目录名称(或更好的是整个路径)?
使用什么shell?使用什么操作系统?
首先尝试:
man pwd
$PWD
我认为,这是最具可移植性的方法:
dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
替代方法
pid=$$
path=$(ps -eo pid,args| awk -vp=$pid '$1~p{print $3}')
case "$path" in
./* ) pwd;;
* ) echo $path;;
esac