使用另一个变量的值创建一个变量,并将值存储到 shell/bash 脚本中新创建的变量中

问题描述 投票:0回答:1

我正在尝试根据另一个变量的值创建一个变量,并尝试将值存储到 Shell 脚本中创建的变量中。例如: 假设有一个现有变量

i=1

我正在尝试在

var_$i

中存储价值

我已经尝试过:

i=1 "var_$i"='true' echo "$var_1"

输出:

bash: var_1=true: command not found

并且

i=1 var_indirect="var_$i" ${!var_indirect}='true' echo "$var_1"

输出:

bash: =true: command not found

我期待:

echo $var_1
将给出输出
true

bash shell
1个回答
0
投票

我们将使用

eval
。为了将风险降到最低,我们准备将值存储到名为
val

的变量中的计算变量中

成语是:

eval var_$i=\$val

eval
的参数经过替换,产生语法
var_1=$val
。美元符号被转义,因此转义被删除并保留美元符号。

var_1=$val
语法由
eval
求值,从而产生所需的赋值。

请注意,

A=$B
作业不需要引用。

© www.soinside.com 2019 - 2024. All rights reserved.