在 BASH 中评估变量的函数

Hea*_*ray 2 bash environment-variables

给定一个变量名,是否有一个函数可以打印其值?

很多时候我将一个变量的名称传递给一个 bash 函数,而不是在传递它时进行扩展,我想在函数内部扩展它。当然,当我这样做时,我最终不得不使用变量名创建字符串,然后运行 ​​exec。如果我可以运行一个与输出相呼应的命令,那就更简洁了!

gle*_*man 6

show_val() { echo "${!1}"; }
foo=bar
echo $(show_val foo)   # => bar
# works with arrays too
a=(zero one two)
echo $(show_val a[1])  # => one
Run Code Online (Sandbox Code Playgroud)

记录在此处的 bash 手册中