错哪了:设计一个shell脚本:将所有输入的整数相加

设计一个shell脚本:将所有输入的整数相加
vi a.sh
#!/bin/bash

sum=0
while [ 1 ]
do
read -p "input number:" num
if [ -z $num ]
then
break
fi
let sum=$[$sum + $num]
echo sum=$sum
done
:wq

bash a.sh

帮我看看错哪了
还有两题不会
4、输出由符号“*”组成的等边三角形(方向为▽状)。

5、探测相同子网的机器是否存在。

代码

#!/bin/bash
sum=0
while [ 1 ]
do
    read -p "input number:" num
    if [ -z $num ]
    then
        break
    fi 
    sum=$(($sum + $num))
    echo $sum
done

运行结果

$ sh a.sh
input number:1
1
input number:2
3
input number:3
6
input number:
$

追问

为什么我这样敲就不行,我改的和你一样,就老显示then错了

追答

[ -z $num ], 注意这里的空格.
[_-z $num_], 下划线的地方是空格.

温馨提示:答案为网友推荐,仅供参考
相似回答