在for循环开始时组合数组(Bash)

时间:2011-05-30 20:40:25

标签: arrays bash for-loop

是否可以做这样的事情?

a=( 1 2 3 )
b=( 4 5 6 )
for num in ( ${a[@]} ${b[@]} ) # or: for num in ${( ${a[@]} ${b[@]} )[@]}
do
    echo "$num"
done
# Outputs 1 2 3 4 5 6

我知道你可以先把它们组合起来然后循环它们,但是它只能在一行中使用吗?

目前的解决方案:

a=( 1 2 3 )
b=( 4 5 6 )
c=( ${a[@]} ${b[@]} )
for num in ${c[@]}
do
    echo "$num"
done
# Outputs 1 2 3 4 5 6

1 个答案:

答案 0 :(得分:17)

指定两个数组。

for num in "${a[@]}" "${b[@]}"
 ...