在bash中,如何使用一个变量作为另一个变量的名称的一部分? [英] In bash, how to use a variable as part of the name of another variable?
本文介绍了在bash中,如何使用一个变量作为另一个变量的名称的一部分?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
只是一个简单的问题。
我有一些数组:
array_0=(1 2 3)
array_1=(1 2 3)
.......
我有一个变量:
a=0
echo ${array_"$a"[0]}
得到了一个不好的替代误差。有谁知道正确的语法?
Got a bad substitution error. Does anyone know the right syntax?
推荐答案
您可以使用评估
:
#!/bin/bash
array_0=(1 2 3)
array_1=(4 5 6)
array_2=(7 8 9)
for a in {0..2} ; do
for i in {0..2} ; do
eval 'echo ${'"array_$a[$i]"'}'
done
done
沃恩卡托的语法稍微详细,但回声
语句本身更辨认。你和这两条线替换双为
环的内侧部分:
Vaughn Cato's syntax is slightly more verbose, but the echo
statement itself is more decipherable. You replace the inner part of the double for
loop with these two lines:
array_a=array_$a[$i]
echo ${!array_a}
这篇关于在bash中,如何使用一个变量作为另一个变量的名称的一部分?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文