2014-10-20 84 views
2

好了,所以我試圖運行,如果用戶輸入yY地方,然後輸出爲YES的腳本,但如果用戶輸入nN然後輸出NO,這就是我到目前爲止有:猛砸,檢驗變量

read character 
if ((("$character") == "y")) || ((("$character" == "Y"))); then 
echo "YES" 
else 
echo "NO" 
fi 

當我運行這段代碼,我得到YES成功,但輸入n只是導致YES反正。

我不知道我做錯了什麼,我喜歡一些輸入。

在此先感謝!

回答

4

((...))用於數學計算。您可以在BASH使用[[...]]這樣的:

read character 
if [[ "$character" == [yY] ]]; then 
    echo "YES" 
else 
    echo "NO" 
fi 

而且我已經合併2個條件爲使用[yY] glob模式之一。

+0

'[yY]'是**也是一個glob模式**,它被'==' – anubhava 2014-10-20 06:26:41