请注意:本文编写于 2020-04-26,其中某些信息可能已经失去时效性。
1. dirname pwd
代码语言:javascript复制root_absolute_dir=$(cd "$(dirname "$0")";pwd)
2. readlink
代码语言:javascript复制root_absolute_dir=$(dirname $(readlink -f "$0"))
注意
macOS
中使用 readlink -f
命令会有如下报错:
readlink: illegal option -- f
usage: readlink [-n] [file ...]
可以安装 greadlink
代替 readlink
# 这里仅提供使用 Homebrew 安装方法
brew install greadlink
# 可以修改 bash_profile 文件,添加 alias readlink=greadlink
# 使用 greadlink 代替 readlink
参考
- 10km:bash shell:获取当前脚本的绝对路径(pwd/readlink)
- orientlu:shell 当前工作目录的绝对路径
- macos - 如何在Mac上获取GNU的readlink -f的行为?