经常在shell脚本中看到如下语句:
ROOT_PATH=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
该语句是指获取当前运行脚本所在的目录并赋值给ROOT_PATH
例如如下shell脚本:
运行bash test.sh ,控制台输出如下:
可见${BASH_SOURCE[0]}表示bash脚本控制台输入第一个参数,由于输入该shell脚本的相对路径,此时$(dirname "${BASH_SOURCE[0]}")的输出也是此shell脚本存在的相对路径。
当控制台第一个参数是绝对路径时,则输出也是绝对路径