Arrays 这里我得到了预期的操作数错误,错误标记为+; #/bin/bash-x echo“输入整数” 读$val 对于((i=0;i

Arrays 这里我得到了预期的操作数错误,错误标记为+; #/bin/bash-x echo“输入整数” 读$val 对于((i=0;i,arrays,shell,Arrays,Shell,两个问题: #!/bin/bash -x echo "enter an integer " read $val for((i=0;i<=2;i++)) do Numbers[$i]=$val done echo ${Number[@]} if [ $((${Number[0]}+${Number[1]}+${Number[2]})) -eq 0 ] then echo "Sum is Zero" else echo

两个问题:

#!/bin/bash -x

echo "enter an integer "
read $val

for((i=0;i<=2;i++))
do
Numbers[$i]=$val
done
echo ${Number[@]}
if [ $((${Number[0]}+${Number[1]}+${Number[2]})) -eq 0 ]
then
        echo "Sum is Zero"
else
        echo "Sum is not zero"
fi
!/bin/bash-x
echo“输入整数”
read val#read取变量名

因为((i=0;i
Number
不是
Number
@oguz,
$(…)
[…]
的内部,所以这应该是算术上下文,不是吗?@Paul哦,是的,我的错,我没有注意
#!/bin/bash -x

echo "enter an integer "
read val  # read takes the name of a variable

for((i=0;i<=2;i++))
do
Numbers[$i]=$val
done
echo ${Numbers[@]}  # from here on, you wrote "Number" instead of "Numbers"
if [ $((Numbers[0] + Numbers[1] + Numbers[2])) -eq 0 ]  # you don't need $ to read variables in arithmetic expansions
then
        echo "Sum is Zero"
else
        echo "Sum is not zero"
fi