2013-03-15 73 views
0

當我嘗試記錄參數時,我得到正確的值。如果參數是csh腳本中的特定字符串,我該如何進行比較? bash中的相應代碼是什麼。檢查傳遞給函數的參數中的值

checkstatus() 
{ 
    /bin/echo $1 >> outfile.txt 

if ["$1" = "show"] 
then 
    /bin/echo "it is show" >> outfile.txt 
else 
    /bin/echo "it is not show" >> outfile.txt 
fi 
} 


checkstatus show 

我得到在輸出文件中顯示,但在if條件中的假情況。必須是我失蹤的一個簡單的。

回答

2

在bash它的工作原理,如果你(1)增加一個空間周圍的 「[]」 的支架和(2)使用的 「==」,而不是 「=」:

if [ "$1" == "show" ] 

(2)ISN」這是嚴格必要的,但有點更清楚,因爲「=」通常用作賦值運算符。

+0

將嘗試更改 – 2013-03-15 10:41:09

+0

工作正常..謝謝! – 2013-03-15 11:02:05

+2

因爲'=='放棄了POSIX合規性,所以你可以切換到'[[...]]'而不是舊式''[']'表達式。 – chepner 2013-03-15 13:10:09