2013-10-24 50 views
0

所有,shell腳本如果變量等於false?的Solaris

在我的shell腳本的開頭我設置了一個名爲變量filespresent="false"

這個變量作爲一個標誌,後來在我的shell腳本日誌指出,如果發現一個文件通過SQLLOADER

處理

的問題是,我的if語句不工作這是給下面的錯誤

[錯誤:找不到

這裏是我的代碼

if ["$filespresent" == "false"] 
then 
    echo ">>>No CSV files in : " $inbox " folder, skipped SQLLoader" >> script.log 
fi 

我檢查字符串比較教程這裏,也許。Solaris是不同的到Linux? http://www.tech-recipes.com/rx/209/bournebash-shell-scripts-string-comparison/

回答

2

您需要大約[]空間。你說:

if [ "$filespresent" == "false" ] 

[命令。說["$filespresent"會導致shell將其解釋爲一個令牌而不是命令。


==經營者不得在sh用,使用=代替:

if [ "$filespresent" = "false" ] 
+0

感謝現在我得到:UKNOWN ==操作符 – kaleeway

+1

@serupticious似乎使用了'sh'。 ''''運算符在'sh'中不可用,請使用'='代替。見上面的更新。 – devnull