while true
do
echo "Enter the number"
read Num
while[$Num -lt 1 || $Num -gt 50]
do
echo "Please enter a new number "
read Num
done
答案1
有一些错误和警告。还请使用shellcheck.net在这种情况下。
错误:
while
和之间有空格[
。[
前后有空格]
。灾难是因为没有
done
,可能是您忘记了或者您刚刚粘贴了一半的代码。使用
[ a ] || [ b ]
而不是[ a || b ]
.
警告:
您应该使用
read -r
而不是read
.双引号变量名称,否则如果它们具有特殊字符,则这将不起作用。
正确代码:
while true
do
echo "Enter the number"
read -r Num
while [ "$Num" -lt 1 ] || [ "$Num" -gt 50 ]
do
echo "Please enter a new number "
read -r Num
done
done