2009-11-30 59 views

回答

17

什么shell?什么操作系统?

对于初学者尝试

man pwd 
$PWD 
+0

似乎工作,谢谢 – goe 2009-11-30 02:06:29

+0

如果你只想要目录的名称,而不是完整的路径,请阅读man basename。 – 2009-11-30 02:46:04

3

这不是微不足道,因为它看起来像。退房this questionthis

+0

问题是关于确定脚本执行目录,但你的答案是确定脚本文件的名称/目录。 – 2017-03-12 19:44:46

+0

@Mat确实!当时一定误会了。删除。 – 2017-03-12 21:22:22

0

替代方法

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

这一点,我相信,这是最简便的方式:

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