我有一个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
我的意思不是如何对这个特定示例进行操作,而不是使用数组。
希望我已经澄清了自己。
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