经常在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脚本存在的相对路径。
当控制台第一个参数是绝对路径时,则输出也是绝对路径

理解shell脚本中的${BASH_SOURCE[0]}
33万+

被折叠的 条评论
为什么被折叠?



