Our*_*rus 38
Bash维护了许多变量,包括BASH_SOURCE源文件路径名的数组.
${} 充当变量的引用.
$() 作为命令的一种引用,但它们在自己的上下文中运行.
dirname 为您提供所提供参数的路径部分.
cd 更改当前目录.
pwd 给出了当前的路径.
&&是一个逻辑and但在这个实例中用于一个接一个地运行命令的副作用.
总之,该命令获取脚本的源文件路径名,将其剥离到路径部分,cds到该路径,然后用于pwd返回脚本的(有效)完整路径.这是分配给DIR.在所有这些之后,上下文被解开,因此您最终返回到您开始的目录中,但是DIR包含脚本路径的环境变量.