var
Bashに変数があるとしましょう。私はそれに価値を与えることができる。たとえば、文字列で作成します。
var="Test"
私が望むのはecho
名前var
であり、それが含まれている価値ではありませんvar
。 (後者を実行するために使用できますが、echo $var
実際には前者を実行したいと思います。)
この質問に対するSOの回答を使用すると言いますが、echo ${!var}
これによりエコーは空行のみを返します。たとえば、このbashスクリプトは
#!/bin/bash
echo "Hi"
var="Test"
echo ${!var}
echo "Bye"
次の出力を返します。
Hi
Bye
間に空白行が1つしかありません。こんにちはそしてさようなら、変える変わりやすい。私は何が間違っていましたか?
私は走っているバッシュ 4.1.5(1)存在するUbuntu 10.04.4。
ベストアンサー1
これシェルパラメータ拡張 ${!name@}または${!名前*}これはできます。
$ foo=bar
$ var_name=(${!foo@})
$ echo $var_name" = "$foo
foo = bar
作業中にこれの用途を想像することはできません...