シェルスクリプトを使用して変数の内容を印刷できますか? (間接引用)

シェルスクリプトを使用して変数の内容を印刷できますか? (間接引用)

次の変数を宣言するとします。

$ var='$test'
$ test="my string"

内容を印刷すると、以下が表示されます。

$ echo $var
$test

$ echo $test
my string

$varコンテンツの内容(たとえば、コンテンツ)を印刷する方法を見つけたいです$test。だから私は次を試してみます。

$ echo $(echo $var)
$test

しかし、結果は$testそうではありません"my string"。 bashを使用して変数の内容を印刷できますか?

ベストアンサー1

$bashの間接変数拡張を使用してこれを行うことができます(変数から参照を省略できる限り):

$ var=test
$ test="my string"
$ echo "$var"
test
$ echo "${!var}"
my string

3.5.3 シェルパラメータの拡張

おすすめ記事