i 沒有賦初值,默認是從0開始哦。這裏是 i=101000 吧
if [ $i%$a = 0 ]
這句不對,只有在(( ))裏才可以直接做算術運算, [ ]只是判斷表達式,不可以的。
可以用expr計算,改為 if [ `expr $i % $a` -eq 0 ]
或者用shell內建命令let計算:
let mod=i%a
if [ $mod -eq 0 ]
另外
if [ $ret == 1 ] 也有問題,判斷數值相等,用 -eq ;判斷字符串相等,= 即可。
== 是C語言裏的用法。