如何创建动态变量并为其分配值? [英] How to create a dynamic variable and assign value to it?
本文介绍了如何创建动态变量并为其分配值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试创建动态变量并为其分配100
I am trying to create a dynamic variable and assign 100
to it
#!/bin/bash
.
.
active_id=$p_val
flag_$active_id=100
但是这样做有任何帮助吗?
But I am getting error in doing so, any help ?
推荐答案
您可以使用 bash的声明指令和间接功能,如下所示:
You can use bash's declare directive and indirection feature like this:
p_val="foo"
active_id=$p_val
declare "flag_$active_id"="100"
测试:
> set | grep flag
flag_foo=100
更新:
p_val="foo"
active_id="$p_val"
v="flag_$active_id"
declare "$v"="100"
> echo "$v"
flag_foo
> echo "${!v}"
100
if condition
中的用法:
Usage in if condition
:
if [ "${!v}" -ne 100 ]; then
echo "yes"
else
echo "no"
fi
# prints no
这篇关于如何创建动态变量并为其分配值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文