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我的意思不是如何对这个特定示例进行操作,而不是使用数组。

希望我已经澄清了自己。

var1="hello1"
var2="hello2"
var3="hello3"
for i in `seq 1 3`;
do
    ab=var$i
    echo ${!ab}
done

我不确定这是解决您更大问题的最佳解决方案,但它是您立即请求的直接解决方案。

更简单的方法:

var1="hello1"
var2="hello2"
var3="hello3"
eval echo $var{1..3};

扩展到:

echo $var1
echo $var2
echo $var3

输出:

hello1 
hello2 
hello3

相关内容

  • 没有找到相关文章

最新更新