假设我有2个数组:
A=(a1 a2 a3)
B=(b1 b2 b3)
我想用循环显示A和B的内容,如下所示:
for i in A B
do
echo ${${i}[@]}
done
并获得这样的结果
a1 a2 a3
b1 b2 b3
我怎么能意识到这一点?
答案 0 :(得分:2)
使用间接参数扩展。
for i in A B; do
t="$i[@]" # A[@] or B[@]
echo "${!t}"
done
诀窍是将数组名称加上索引([@]
)视为变量“name”。