请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

[: missing `]'

#!/bin/bash

while true
do
read -p "Pls input a positive number: " num
expr $num + 1 &> /dev/null
if [ $? -eq 0];then
if [ expr $num > 0 -eq 1 ];then
for ((i=1;i<$num;i++))
do
sum=expr $sum + $i
done
echo "1+2+3+…+num=num=num=sum"
exit
fi
fi
echo "error,input enlegal"
continue
done

执行以上命令一老报错,报错如下:
Pls input a positive number: 3
expr_1.sh: line 8: [: missing `]'
error,input enlegal
请问是哪里出错了?

正在回答 回答被采纳积分+3

1回答

酷田 2021-07-16 11:33:16

之所以提示[: missing `]'是因为第7行的写法有问题,0后面应该有空格,正确写法如下

if [ $? -eq 0 ];then

https://img1.sycdn.imooc.com//szimg/60f0fdd109f3266208180836.jpg

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信