我试图从Bash变量中读取名称后缀,但我想遍历前缀。
我举一个例子如下:
var1_name="variable1"
var1_size="2"
var2_name="variable2"
var2_size="3"
vars=(var1 var2)
for v in "${vars[@]}"
do
echo $v_name
echo $v_size
done
我希望输出如下:
variable1
2
variable2
3
这和巴什有关吗?
我试过使用
eval
和关联数组,但仍然找不到检查已定义变量的方法。 最佳答案
下面对我有用。您需要先构造变量,然后使用感叹号对其求值。
var1_name="variable1"
var1_size="2"
var2_name="variable2"
var2_size="3"
vars=("var1" "var2")
for v in "${vars[@]}"
do
name=${v}_name
size=${v}_size
echo ${!name}
echo ${!size}
done
开/关
variable1
2
variable2
3