2014-10-20 73 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