#!/bin/bash
count=0
result=0
read -p "input a number:" num
if [ $num -gt 50 -r $sum -lt 40 ]; then
until [ $num -lt 50 -a $sum -gt 40 ]
do
read -p "input a number again:" num
done
fi
declare -i count=$count+1
# count=$count+1
#echo $count
#echo $result
declare -i result
result=$result+$num
修改后代码:
#!/bin/bash
count=0
result=0
read -p "input a number:" num
if [ $num -gt 50 -o $num -lt 40 ]; then
until [ $num -lt 50 -a $num -gt 40 ]
do
read -p "input a number again:" num
done
fi
declare -i count=$count+1
# count=$count+1
#echo $count
#echo $result
declare -i result
result=$result+$num
这段代码的问题是在于,if语句的条件判断语句中使用了"-r"选项,但是在bash中并没有"-r"选项。
另外"declare -i"用于声明变量为整型,但是这里的count变量已经在之前声明过了,所以可以将"declare -i"删除。
修改后的代码如下:
#!/bin/bash
count=0
result=0
read -p "input a number:" num
if [ $num -gt 50 ] || [ $sum -lt 40 ]; then
until [ $num -lt 50 ] && [ $sum -gt 40 ]
do
read -p "input a number again:" num
done
fi
count=$count+1
result=$result+$num
仅供参考,望采纳,谢谢。