如何在 shell 脚本中调用字符串作为变量?

how to call a string as a variable in shell script?

我有一个问题,我不知道变量的名称,变量的名称将存储在我拥有的数组中,

这里的问题我怎么调用它,我在cli里试了一些看:

$ hello=sup
$ hi=hello
$ echo $`echo $hi`
$hello

如您所见,它打印出“$hello”而不是我想要的“sup”

要取消引用变量,您必须使用 $,这样第二个赋值在您的代码示例中不起作用。

>hello=sup
>hi=$hello
>echo $hi
sup

有关间接变量引用的详细信息,请参阅 https://tldp.org/LDP/abs/html/ivr.html

只需在 bash 中使用以下内容:

echo ${!hi}

或其他 shell 中的 eval

eval "echo $$hi"