我有一个bash循环,我正在尝试读取所有变量:
var1="hello1"
var2="hello2"
var3="hello3"
for i in `seq 1 3`;
do
ab=var$i
# Now ab == var1, I want to echo $var1
done
我正在尝试动态获取var(1)(2)(3)并获取它的字符串。
修改:
这里的重点是如何连接像ab=var$i
这样的连接变量
并使用ab
变量(例如var1
)作为变量,我的意思是得到var1
值hello1
我并不是指如何对这个特定的例子做,而不是对数组。
希望我已经澄清了自己。
答案 0 :(得分:4)
var1="hello1"
var2="hello2"
var3="hello3"
for i in `seq 1 3`;
do
ab=var$i
echo ${!ab}
done
我不确定这是解决您的大问题的最佳解决方案,但它是您直接请求的直接解决方案。
答案 1 :(得分:1)
更简单的方法:
var1="hello1"
var2="hello2"
var3="hello3"
eval echo\ $var{1..3}\;
扩展为:
echo $var1
echo $var2
echo $var3
<强>输出:强>
hello1
hello2
hello3