2012-05-03 60 views
2

我正給定的shell腳本和我收到以下錯誤消息錯誤:shell腳本返回一元運算符預期的錯誤消息

line 322: [: ==: unary operator expected 

從該行返回此錯誤。

if [ $4 == "managed?.out" ];then 

可能有人解釋我是什麼讓這個錯誤

也有人解釋什麼是使用的目的是什麼?在 「管理的.out?」

在此先感謝您的幫助

回答

5

需要引用$4

if [ "$4" == "managed?.out" ];then 
+0

你能解釋一下爲什麼正是你需要做到這一點? @codaddict –

+0

是的,我也會對@ H_7的問題的答案感興趣。 – Hengjie

1

變化的if語句

if [ "$4" == "managed?.out" ];then 

的雙只有當你使用$ 4時才需要引號,如果你的變量是$ string,你就不需要它們。

應該「?」被解釋爲bash通配符?如果是的話,你需要使用

if [[ "$4" == managed?.out ]];then 
0

嘗試:

if [[ $4 == "managed?.out" ]];then 
+0

這是一個單獨的問題。使用的目的是什麼?登錄託管的.out文本。 – KItis