设置动态创建的 bash 变量
set a dynamically created bash variable
早上好,
我需要动态更改变量的名称。我做了一些测试。我的测试脚本是这样的:
i=5
range5min=777
varname="range${i}min"
echo ${!varname}
#$`echo $varname`=555
$varname=555
echo $range5min
我可以通过以下方式访问其内容:
echo $ {! Varname}
但是我不能给一个动态创建的变量赋值,也就是说,我不能用equal来赋值。
我尝试了这两种方式:
$ `echo $ varname` = 555
$ varname = 555
我想做的是在 for 中创建新变量,具体取决于 for 期望的循环数。
你可以使用 printf
:
printf -v "$varname" '%s' "555"
不过请注意,实际上并不推荐这种类型的编程,因为它会使代码难以阅读和理解。
数组或关联数组可能更合适。
早上好, 我需要动态更改变量的名称。我做了一些测试。我的测试脚本是这样的:
i=5
range5min=777
varname="range${i}min"
echo ${!varname}
#$`echo $varname`=555
$varname=555
echo $range5min
我可以通过以下方式访问其内容:
echo $ {! Varname}
但是我不能给一个动态创建的变量赋值,也就是说,我不能用equal来赋值。 我尝试了这两种方式:
$ `echo $ varname` = 555
$ varname = 555
我想做的是在 for 中创建新变量,具体取决于 for 期望的循环数。
你可以使用 printf
:
printf -v "$varname" '%s' "555"
不过请注意,实际上并不推荐这种类型的编程,因为它会使代码难以阅读和理解。
数组或关联数组可能更合适。