好的,我正在尝试运行一个脚本,如果用户输入y
或Y
,则输出为YES
,但如果用户输入{{1} }}或n
然后输出为N
,这是我到目前为止:
NO
当我运行此代码时,我成功read character
if (( ("$character") == "y" )) || (( ("$character" == "Y") )); then
echo "YES"
else
echo "NO"
fi
但输入YES
只会产生n
。
我不知道我做错了什么以及我喜欢什么输入。
提前致谢!
答案 0 :(得分:4)
((...))
用于数学计算。您可以在BASH中使用[[...]]
,如下所示:
read character
if [[ "$character" == [yY] ]]; then
echo "YES"
else
echo "NO"
fi
此外,我使用[yY]
glob模式将2个条件合并为一个。