获取shell脚本目录的父目录

时间:2016-11-25 05:25:54

标签: bash shell

我这里有一个shell脚本:

/node_modules/.bin/exec.sh
在exec.sh脚本中的

,我想获取脚本所在的目录的父目录的路径(不是pwd / cwd!)。我可以像这样获取包含目录:

`dirname $0`

将产生:

/node_modules/.bin

但我希望更高一个目录,我只想得到

/node_modules

我无法找到答案,我的猜测是:

`dirname $1`

但只是一个猜测,不确定这是否正确。谁能解释一下如何做到这一点以及它是如何工作的?

2 个答案:

答案 0 :(得分:8)

运行dirname两次(嵌套)。

~$ dirname $PWD
/home
~$ dirname `dirname $PWD`
/
~$ 

答案 1 :(得分:3)

我相信答案是

$(dirname $(dirname "$0"))

不要忘记“$ 0”附近的双引号