我有这个while循环的问题。我希望用户选择三个选项之一。我得到错误“预期的整数表达式”。当我删除最后一个选项“$ UCHOICE”-ne“q”时,程序一直有效,直到我输入一个字母,然后我得到相同的“整数表达式”。我猜这个问题与整数和字符串有关,但我不知道。请帮忙。
while [ "$UCHOICE" -ne "1" -a "$UCHOICE" -ne "2" -a "$UCHOICE" -ne "q" ]
do
echo "hello"
read UCHOICE
done
答案 0 :(得分:3)
你需要使用!= string comparison。
while [ "$UCHOICE" != "1" -a "$UCHOICE" != "2" -a "$UCHOICE" != "q" ]
do
echo "hello"
read UCHOICE
done
答案 1 :(得分:1)
我认为以下信息可以帮助您:
stringA!= stringB stringA与stringB
不匹配exprA -ne exprB 算术表达式exprA和exprB不相等