我正在尝试创建一个动态变量并分配100给它
100
#!/bin/bash . . active_id=$p_val flag_$active_id=100
但是我这样做有错误,有帮助吗?
您可以使用 bash的声明指令和间接功能, 如下所示:
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:
if condition
if [ "${!v}" -ne 100 ]; then echo "yes" else echo "no" fi # prints no