我正在更新一个旧的 shell 脚本以使用新的配置运行,而且我对 shell 脚本比较陌生,但是对于大多数脚本来说,我通常都还可以。但是,我无法弄清楚以下行在做什么。这个特定的行是从另一个正在运行的脚本中调用的,并且正在 UNIX 类型的机器上运行,尽管我不确定这有多相关。
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
我的问题基本上是,相对于它被调用和存储的目录,这实际上指向什么目录?还有那个 && 到底在做什么?在两个目录之间看到一个逻辑运算符似乎很奇怪,但我对 shell 脚本还是很陌生。