试图在嵌套的 for 循环中重复一个数组:
#!/bin/bash
aaa=("nine" "ten" "eleven" "twelve")
bbb=("one" "two" "three" "four" "five" "six" "seven" "eight")
ccc=("thirteen" "fourteen")
for b in "${bbb[@]}" ; do
for i in "${!aaa[@]}" ; do
echo "$b" "${aaa[i]}" "${ccc[i]}"
done
done
我明白了,其中第 11 行和第 12 行没有收到 ccc
元素:
one nine thirteen
one ten fourteen
one eleven
one twelve
two nine thirteen
two ten fourteen
two eleven
two twelve
three nine thirteen
three ten fourteen
three eleven
three twelve
four nine thirteen
four ten fourteen
four eleven
four twelve
five nine thirteen
five ten fourteen
five eleven
five twelve
six nine thirteen
six ten fourteen
six eleven
six twelve
seven nine thirteen
seven ten fourteen
seven eleven
seven twelve
eight nine thirteen
eight ten fourteen
eight eleven
eight twelve
期望的输出:
one nine thirteen
one ten fourteen
one eleven thirteen
one twelve fourteen
two nine thirteen
two ten fourteen
two eleven thirteen
two twelve fourteen
three nine thirteen
three ten fourteen
three eleven thirteen
three twelve fourteen
four nine thirteen
four ten fourteen
four eleven thirteen
four twelve fourteen
five nine thirteen
five ten fourteen
five eleven thirteen
five twelve fourteen
six nine thirteen
six ten fourteen
six eleven thirteen
six twelve fourteen
seven nine thirteen
seven ten fourteen
seven eleven thirteen
seven twelve fourteen
eight nine thirteen
eight ten fourteen
eight eleven thirteen
eight twelve fourteen
最佳答案
从预期的输出你需要一个模 "${ccc[i%${#ccc[@]}]}"
而不是 "${ccc[i]}"
关于linux - Bash:在for循环中重复数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46325734/