Bash String连接并获取内容

时间:2012-11-14 19:32:04

标签: linux bash

我有一个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)作为变量,我的意思是得到var1hello1 我并不是指如何对这个特定的例子做,而不是对数组。

希望我已经澄清了自己。

2 个答案:

答案 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