我这里有一个shell脚本:
/node_modules/.bin/exec.sh
在exec.sh脚本中的,我想获取脚本所在的目录的父目录的路径(不是pwd / cwd!)。我可以像这样获取包含目录:
`dirname $0`
将产生:
/node_modules/.bin
但我希望更高一个目录,我只想得到
/node_modules
我无法找到答案,我的猜测是:
`dirname $1`
但只是一个猜测,不确定这是否正确。谁能解释一下如何做到这一点以及它是如何工作的?
答案 0 :(得分:8)
运行dirname两次(嵌套)。
~$ dirname $PWD
/home
~$ dirname `dirname $PWD`
/
~$
答案 1 :(得分:3)
我相信答案是
$(dirname $(dirname "$0"))
不要忘记“$ 0”附近的双引号