gpt4 book ai didi

bash - 而变量不等于 x 或 y bash

转载 作者:行者123 更新时间:2023-11-29 08:55:50 24 4
gpt4 key购买 nike

我正在尝试获取用户输入。输入应为“1”或“2”。出于某种原因,即使我输入 1 或 2,我仍然会收到提示。

read -p "Your choice:  " UserChoice
while [[ "$UserChoice" != "1" || "2" ]]
do
echo -e "\nInvalid choice please choose 1 or 2\n"
read -p "Your choice: " UserChoice
done

我会感谢你的帮助谢谢!

最佳答案

!= 不会分布在连接两个完整 表达式的|| 上。修复后,您还需要使用 && 而不是 ||

while [[ "$UserChoice" != "1" && "$UserChoice" != "2" ]]

实际上,bash 确实支持模式匹配,可以像您想象的那样使用它。

while [[ $UserChoice != [12] ]]

通过设置 extglob 选项(我相信从 bash 4.2 开始在 [[ ... ]] 中默认打开),你可以使用一些非常接近你原来拥有的:

while [[ $UserChoice != @(1|2) ]]

关于bash - 而变量不等于 x 或 y bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25877637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com