shell多条件判断语句出错,大家帮忙看看哪里有问题?
#我在测试无if嵌套循环的计算器中,有一条语句错误num1=1num2=2test1=$(echo"$num1"|sed's/[0-9]//g')̴...
#我在测试无if嵌套循环的计算器中,有一条语句错误
num1=1
num2=2
test1=$( echo "$num1" | sed 's/[0-9]//g' )
test2=$( echo "$num2" | sed 's/[0-9]//g' )
[ -n"$num1" -a -n"$num2" -a -n"$a" -a -z"test1" -a -z"test2" -a "$a" == "+" ] && echo 0
#在这条判断语句中,test1是变量,但是我没用变量符$时 该语句能执行成功, 在如下语句我用了$符引用变量却报错了,为什么?
[ -n"$num1" -a -n"$num2" -a -n"$a" -a -z"$test1" -a -z"$test2" -a "$a" == "+" ] && echo 0
-bash: [: too many arguments 展开
num1=1
num2=2
test1=$( echo "$num1" | sed 's/[0-9]//g' )
test2=$( echo "$num2" | sed 's/[0-9]//g' )
[ -n"$num1" -a -n"$num2" -a -n"$a" -a -z"test1" -a -z"test2" -a "$a" == "+" ] && echo 0
#在这条判断语句中,test1是变量,但是我没用变量符$时 该语句能执行成功, 在如下语句我用了$符引用变量却报错了,为什么?
[ -n"$num1" -a -n"$num2" -a -n"$a" -a -z"$test1" -a -z"$test2" -a "$a" == "+" ] && echo 0
-bash: [: too many arguments 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询