Unixで次のことを行うにはどうすればよいですか?
1)変数xxx_yyy = 12345
2)変数aaa = yyy
xxx_$aaaを評価して12345を取得するにはどうすればよいですか。
お知らせ下さい。
bashでは、間接的なパラメーター展開を使用します。
varname=xxx_$aaa
echo ${!varname}
ただし、動的変数名は通常、処理が難しいです。連想配列の使用が簡単:
declare -A xxx
xxx[yyy]=12345
aaa=yyy
echo ${xxx[$aaa]}
bash(およびおそらく他のもの:別のものが必要かどうかを指定)では、を使用しますeval
。$
図のように、最初のエスケープを忘れないでください。
eval echo \$xxx_$aaa