我的一些同事喜欢在他们的 BASH 脚本顶部写以下内容来确定包含该脚本的目录:
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
而我则倾向于以下做法:
SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")"
(请注意,在大多数情况下,我们并不关心解析符号链接,因此我们倾向于使用这些而不是例如readlink
)
cd ... && pwd
与 -only 方法相比,该方法有什么优点dirname
吗?它似乎只是执行了额外的步骤来实现完全相同的结果,但我想确保我没有遗漏任何细微差别。