2011-04-07 33 views
1

整數。follwoing腳本的shell:無法分配給一個變量

#!/bin/sh 

    count1=0 
    noOfArg=0 
    checkOtherParam() 
    { 
    echo $parameter 
    return 4 
    } 
    if($count1 eq $noOfArg) 
    then 
     echo "Yes" 
    else 
     echo "No 

" 
fi 

〜 我收到錯誤

./sample.sh:0:未發現 沒有

請讓我知道,這是什麼問題

回答

1

這是你在if語句中使用括號。這不是合適的bash語法。這被校正(沒有神祕破碎checkOtherParam功能):

#!/bin/sh 

count1=0 
noOfArg=0 

if [ $count1 -eq $noOfArg ] 
then 
    echo "Yes" 
else 
    echo "No" 
fi 
1
if($count1 eq $noOfArg) 

應該是

if [ $count1 -eq $noOfArg ] 
2

我會寫這樣

if (($count1 == $noOfArg)) 
then 
... 
fi 

比較上面是一個算術比較,與由

執行的條件比較
if [ $count1 -eq $noOfArg ] 
then 
... 
fi 

但在這種情況下,我假設他們都會產生相同的結果。

0

你也可以使用case/esac

case "$count" in 
"$noOfArg") echo "yes";; 
*) echo "no";; 
esac