如何在 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"
我有一个问题,我不知道变量的名称,变量的名称将存储在我拥有的数组中,
这里的问题我怎么调用它,我在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"