而变量不等于x或y bash
发布时间:2020-12-15 22:28:12 所属栏目:安全 来源:网络整理
导读:我正在尝试获取用户输入. 输入应为“1”或“2”. 出于某种原因,即使我输入1或2,我仍然会得到提示. read -p "Your choice: " UserChoice while [[ "$UserChoice" != "1" || "2" ]] do echo -e "nInvalid choice please choose 1 or 2n" read -p "Your choic
我正在尝试获取用户输入.
输入应为“1”或“2”. 出于某种原因,即使我输入1或2,我仍然会得到提示. read -p "Your choice: " UserChoice while [[ "$UserChoice" != "1" || "2" ]] do echo -e "nInvalid choice please choose 1 or 2n" read -p "Your choice: " UserChoice done 我将感激你的帮助 解决方法
!=不会分布在||,它连接两个完整的表达式.一旦修复,您将需要使用&&而不是||同样.
while [[ "$UserChoice" != "1" && "$UserChoice" != "2" ]] 实际上,bash确实支持模式匹配,可以类似于你的想法使用. while [[ $UserChoice != [12] ]] 使用extglob选项集(默认情况下在[[…]]内部以bash 4.2开头,我相信),你可以使用非常接近你原来的东西: while [[ $UserChoice != @(1|2) ]] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读