【发布时间】:2015-01-25 09:30:15
【问题描述】:
我一直在处理我的脚本文件,它应该总结一个数字列表,然后从数组中计算任何大于 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
【问题讨论】:
-
检查并保持计数 in 循环而不是循环之后。
-
/bin/sh不保证支持数组;请改用#!/bin/bash。