2016-03-01 61 views
1

我试图安装PGI编译器2016和运行install文件 后,我得到一个错误:猛砸错误 - 二进制运算符预期

binary operator expected 

就行了:

if test -d $DIR/install_components ; then 

ShellCheck.net说“加双引号以防止通配和分词“无论如何。

但整个安装套件是相当大的,所以我应该在的地方数不胜数添加引号或者是有一些命令我可以使用去走一走呢?

+1

,命令将失败,因为变量将被扩展为两个参数。如果你知道你的$ DIR永远不会包含空格,那么你可以放心地忽略它。最好将报告与包维护者 – edi9999

+0

的问题,我会持怀疑态度运行安装脚本,因为谁写的真的不知道他们在做什么。 – chepner

回答

1

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

如果您知道您的$DIR将永远不会包含空格,您可以放心地忽略该空格。最好的办法是与软件包维护人员报告问题。

注意,这可能会做的非常有害的东西到你的电脑,说你的脚本的地方呢:

rm $DIR 

$DIR="-rf /",然后如果$ DIR包含空格,这将执行著名的rm -rf /