正如标题所述,我只希望该行测试变量是否大于10但小于30,但返回的错误为“参数过多”
if [ -f myClass ] && grep 'John Smith' myclass > /dev/null
then cat myclass
elif [ -f grades ]
then
grep "s100" grades
elif
[ $ca82 -gt 10 -a $ca82 -lt 30 ]
then
echo "success"
else
echo "test 2"
fi
答案 0 :(得分:1)
elif [ $ca82 -gt 10 ] && [ $ca82 -lt 30 ]
提供您将$ca82
设置在某个地方
答案 1 :(得分:0)
您需要的是变量本身的引号。其余的都很好。所以:
[ "$ca82" -gt 10 -a "$ca82" -lt 30 ]
答案 2 :(得分:0)
如果cat82
是数字,但其中包含space
,则您的代码应该可以使用。这就是为什么test命令抱怨参数过多的原因。