明道学苑

学而不思则罔,思而不学则殆

0%

Bash如何获取脚本所在目录绝对路径

本文说明在Bash脚本中如何当前脚本所在目录

首先使用如下代码获取当前脚本相对当前目录的相对路径并将其保存到PATH0变量,在shell中打印输出:

PATH0="${BASH_SOURCE[0]}"
echo "$PATH0"

接下来使用下面的代码获取脚本的目录名,PATH0即是上一步获取的相对路径:

DIRNAME="$( dirname "$PATH0")"
echo "$DIRNAME"

最后使用下面的代码获取脚本所在目录的绝对路径,DIRNAME是上一步获取的目录名:

DIR="$( cd "$DIRNAME" && pwd)"
echo "$DIR"