2015-02-23 71 views
0

嘿所以我爲什麼會在條件中出現語法錯誤。我已經在網上查詢過使用報價""[[]]的在線問題,並確保同時使用兩者。 if聲明中的&&符號,但我似乎無法讓它工作任何想法?使用bash比較3個整數

#!/bin/bash 
echo Please input integer number 1 
read i1 
echo Please input integer number 2 
read i2 
echo Please input integer number 3 
read i3 
if [[ "$i1" >= "$i2" ]] && [[ "$i1" >= "$i3" ]];then 
    echo $i1 
elif [[ "$i2" >= "$i1" ]] && [[ "$i2" >= "$i3" ]];then 
    echo $i2 
else 
    echo $i3 
fi 
+0

可以在'[[]]使用'-ge'大於或等於'或你可以使用'(())'而不是'[[]]'強制進行算術比較''(($ i1> = $ i2))''。請注意,您錯過了代碼 – nu11p01n73R 2015-02-23 06:55:14

+0

中的'fi',對不起,應該是elif,但會嘗試編輯 – 2015-02-23 06:57:31

+0

。將來,請隨時自行更新您的問題。 – tripleee 2015-02-23 08:31:46

回答

3

應該-ge而不是>=

嘗試man test瞭解更多信息

#!/bin/bash 

echo Please input integer number 1 
read i1 
echo Please input integer number 2 
read i2 
echo Please input integer number 3 
read i3 
if [[ "$i1" -ge "$i2" ]] && [[ "$i1" -ge "$i3" ]];then 
    echo $i1 
elif [[ "$i2" -ge "$i1" ]] && [[ "$i2" -ge "$i3" ]];then 
    echo $i2 
else 
    echo $i3 
fi 
+0

woooo它的作品!謝謝! – 2015-02-23 06:59:08

+0

然後請[接受這個答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work),以便這個問題不再出現未解決。謝謝。 – tripleee 2015-02-23 08:32:33