BASHで変数を計算する関数

BASHで変数を計算する関数

変数名が与えられたら、その値を印刷する関数はありますか?

変数名を何度も bash 関数に渡し、変数を渡すときに拡張するのではなく、関数内で拡張したいと思います。もちろん、これは最終的に変数名を含む文字列を作成してexecを実行する必要があります。出力をエコーするコマンドを実行できれば、もっときれいになります!

ベストアンサー1

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

bashのマニュアルに文書化されています。ここ

おすすめ記事