Bash 错误 - 应为二元运算符

Bash error - binary operator expected

我正在尝试安装 PGI Compilers 2016,在 运行 install 文件之后 我得到一个错误:

binary operator expected

在线:

if test -d $DIR/install_components ; then

ShellCheck.net 表示 "add double quote to prevent globbing and word splitting" 什么意思。

但是整个安装套件非常大,所以我应该在无数地方添加引号还是有一些命令可以绕过它?

如果 $DIR 包含 spaces,命令将失败,因为变量将扩展为两个参数。

如果您知道 $DIR 永远不会包含 space,您可以安全地忽略它。最好是向包维护者报告问题。

请注意,这可能会对您的计算机造成非常有害的影响,假设您的脚本在某处确实如此:

rm $DIR

$DIR="-rf /",那么这将执行著名的rm -rf /