Bash错误 - 预期的二元运算符

时间:2016-03-01 13:15:18

标签: bash ubuntu installation pgi pgi-accelerator

我正在尝试安装PGI Compilers 2016并运行install文件 我收到一个错误:

binary operator expected

就行:

if test -d $DIR/install_components ; then

ShellCheck.net说"添加双引号以防止全局和单词分裂"不管它意味着什么。

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

1 个答案:

答案 0 :(得分:1)

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

如果您知道$DIR永远不会包含空格,您可以放心地忽略它。最好的方法是用软件包维护者报告这个问题。

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

rm $DIR

$DIR="-rf /",然后执行着名的rm -rf /