参见英文答案 >
How can I generate new variable names on the fly in a shell script?5个
> Creating a string variable name from the value of another string3个
我想将变量命名为_ ${v}.
> Creating a string variable name from the value of another string3个
我想将变量命名为_ ${v}.
例如:v可以是2013 2014
我现在声明一个变量到_ ${v}
a_${v}=hI # a_2013 should be Hi v=2014
所以_ ${v} = Hello#a_2014应该是Hello
我尝试使用eval命令,虽然它在分配值时没有抛出错误,但我无法提取变量名的值
$v=2013 $eval a_${v}=Hi $v=2014 $eval a_${v}=Hello echo ${a_${v}}
不管用.. :(
我正在使用bash,我不想更改变量名,即不想将值赋给另一个值
在bash中,您可以执行以下操作(请注意最后一行中的感叹号语法):
#!/bin/bash a_2014='hello 2014' year=2014 varname=a_${year} echo ${!varname}