在在/usr/本地/bin我有一个 'ln -s'/usr/local/foo/bash.script,在后一个脚本中我想知道当前/usr/local/foo目录,以便我可以从该文件夹运行辅助脚本。
现在,我尝试过目录名 $0,但这给了我在/usr/本地/bin文件夹。我应该在脚本得到/usr/local/foo文件夹?
答案1
尝试readlink
,例如
d=$0
while readlink $d >/dev/null; do
d=`readlink $d`
done
echo $d
编辑:
我不确定这是否适用于其他 Unix 操作系统,但如果你使用的是 Linux,上述操作可以通过使用
d=`readlink -f $0`
echo $d
看
readlink --help