dynamic创buildbashvariables并访问它之前定义的值

我正在尝试读取前面定义的bashvariables的值,但是这个variables名是dynamic派生的。

这是我试图做的bash脚本

$ mythreshold=10 $ table=my $ threshold="$table"threshold $ echo $("$threshold") mythreshold 

但是当我尝试读取这个variables值

  $ echo $("$threshold") -bash: mythreshold: command not found 

但是我期待着它的印刷

  $ echo $("$threshold") 10 

有没有办法我可以得到这个工作,它应该已经打印出上面定义的mythresholdvariables的值

$()是命令替换。 它运行里面的命令并返回输出。 变量名称不是一个命令。

你可以$(echo "$threshold")但只会得到mythreshold回来。

你需要间接为你想要的。 具体评估间接/参考变量 。

作为一个例子,对于这个特定的情况:

 echo "${!threshold}" 

使用eval命令:

 eval echo \${$threshold} 

关于这个命令的更多细节可以在这里找到:

在Bash中的eval命令及其典型用法