2016-03-01 59 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 /