我一直在编写我的脚本文件,它应该对数字列表进行求和,然后从数组中计算任何大于 100 的数字。当我执行脚本时,我的计数为空,因为它只计算数组中的最后一个数字,即 17 并且小于 100。我通过输入大于 2 来测试这一点,当我运行它时,它显示最后一个数字(17)仅。我对在 shell 中创建 if/then 语句还很陌生,所以如果有什么看起来不合适或者我遗漏了什么,请告诉我。谢谢。
下面是我的代码:
#!/bin/sh
sum=0
array=(12 43 16 55 243 312 17)
for i in ${array[@]}; do
echo $i;
let sum+=$i
done
echo Total = $sum
if [ $i -gt 2 ]; then
echo $i
fi
最佳答案
您正在 for
循环之外使用变量 i
。 if
子句应位于 for
循环内。
count=0
for i in ${array[@]}; do
if [ $i -gt 100 ]; then
let count++
fi
done
关于arrays - 计算数组中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27159570/