對於使用兩個或多個數組的嵌套循環(例如,在嵌套循環中獲取迭代編號
A=(0.1 0.2)
B=(2 4 6)
AB=$((${#A[@]}*${#B[@]})) # total number of iterations (length of A * length of B)
for a in ${A[*]}; do
for b in ${B[*]}; do
$(($a+$b)) # task using each combination of A and B
echo ? # show number of the iteration (i.e. 1 to length of AB)
done
done
什麼是讓迭代次數的最佳方式,如上圖所示,使用echo
?
謝謝。這個方法適用於這個例子。但是,如果我用'set -e'(錯誤退出)啓動腳本,則不會打印任何內容。雖然顯然不是關鍵,但是這是否表明這個代碼存在不完美? – user3743235
@ user3743235如果從'i = 1'開始並使用'((++ i))',它可以與'set -e'一起使用。儘管如此,爲什麼我不清楚。 – pfnuesel