【发布时间】:2015-04-04 15:52:08
【问题描述】:
我想检查用户是否输入了“y”或“n”,如果没有,则继续循环要求用户输入正确的字母,但它不起作用......下面的代码显示了我所拥有的到目前为止尝试过....有人可以帮帮我吗???
echo "Enter 'y' to exit or 'n' to continue"
echo -n "Do you want to exit? "
read character
while [ "$character" != "y" || "$character" != "n" ];
do
echo -n "Wrong key re-enter 'y' to exit or 'n' to continue"
read character
done
【问题讨论】:
-
$var != y || $var != n总是为真。任何不是y的东西都会使第一部分为真,y将使第二部分为真。 -
那么,我该如何让它为假呢
-
想想你要测试的逻辑。你想要
$var不是xOR 不是y?或者你想要$var不是xAND 不是y? -
你能和我谈谈不同之处吗,因为现在我对我想要它做什么有点困惑.....抱歉
-
在你的代码中也使用ShellCheck。
标签: bash while-loop conditional-statements multiple-conditions