我正在尝试从我知道名称后缀的 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
有什么可以用 Bash 做的吗?
我已尝试使用 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
O/P
variable1
2
variable2
3
关于bash - 检查具有动态名称的 Bash 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43306880/