在Bash中分配给动态变量名称

时间:2017-02-09 15:29:37

标签: linux shell unix

如何为名称中包含变量的变量赋值?

var1="file"
var2_$var1="folder"

上面的代码给出了错误-bash: var2_file=folder: command not found。我很想知道如何使用名称中的另一个变量来分配变量。

Bash的版本是" GNU bash,版本4.1.2"

2 个答案:

答案 0 :(得分:0)

使用bash,您可以使用declare

declare var2_$var1="123"

答案 1 :(得分:0)

如何使用另一个变量来保存动态名称并在设置后使用它来检索值?

new_var=var2_$var1
declare var2_$var1="123"
echo "${!new_var}" # => 123

不幸的是,Bash不允许declare $new_var="123" - 这会让这更漂亮。