获取 shell 脚本所在目录的父级目录

17 浏览
0 Comments

获取 shell 脚本所在目录的父级目录

这个问题已经有了答案

如何在Bash脚本本身中获取脚本所在目录的路径?

我有一个shell脚本:

/node_modules/.bin/exec.sh

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

`dirname $0`

这将得到:

/node_modules/.bin

但我想得到更高一级的目录,我只想得到:

/node_modules

我在搜寻答案时遇到了困难,我猜的是:

`dirname $1`

但只是猜测,不确定是否正确。有人可以解释如何做以及它是如何工作的吗?

admin 更改状态以发布 2023年5月20日
0
0 Comments

我相信答案是

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

不要忘记在“$0”周围加上双引号

0
0 Comments

运行两次dirname(嵌套)。

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

0