1

Unixで次のことを行うにはどうすればよいですか?

1)変数xxx_yyy = 12345
2)変数aaa = yyy

xxx_$aaaを評価して12345を取得するにはどうすればよいですか。

お知らせ下さい。

4

2 に答える 2

2

bashでは、間接的なパラメーター展開を使用します。

varname=xxx_$aaa
echo ${!varname}

ただし、動的変数名は通常、処理が難しいです。連想配列の使用が簡単:

declare -A xxx
xxx[yyy]=12345
aaa=yyy
echo ${xxx[$aaa]}
于 2012-12-12T20:44:07.187 に答える
1

bash(およびおそらく他のもの:別のものが必要かどうかを指定)では、を使用しますeval$図のように、最初のエスケープを忘れないでください。

eval echo \$xxx_$aaa
于 2012-12-12T17:54:03.787 に答える