var
bashに変数があるとします。値を割り当てることができます。たとえば、私はそれを文字列にします:
var="Test"
私が持ってecho
いるvar
値ではなく、の名前にしたいvar
。(を使用して後者を実行できますが、echo $var
実際は前者を実行したいです。)
SOからのこの質問に対する答えはuse echo ${!var}
であると言っていますが、それを行うと、エコーは空白行を返すだけです。たとえば、次のbashスクリプト
#!/bin/bash
echo "Hi"
var="Test"
echo ${!var}
echo "Bye"
次の出力を返します。
Hi
Bye
varの代わりに、HiとByeの間に空白行だけを入れます。何が間違っていますか?
私が実行しているbashの4.1.5(1)上のUbuntu 10.04.4を。
私はこの点を本当に理解していません。@Braiamが指摘しているように、そもそも変数の名前を定義しているので、常にそれを知っていて、常にそれを印刷することができます。実際に何をしようとしていますか?
—
テルドン
SOソリューションのドリフトを見逃したと思います。試してください
—
iruvar
var=Test; Test=SO; echo ${!var}
わかりませんが、何をしようとしているのですか?echo '$ var'
—
レナンビセンテ
私は本当に興味があります、何のためにそれが必要でしたか教えてください!
—
ブバカゾウバ16
echo var
?