環境変数があるとしましょう。
echo lmx_setting_foo="bar";
上記の環境変数は次のように生成されます。
$ lmx set foo bar
もちろん:
export "lmx_setting_$2"="$3"
誰かが「foo」を検索したいと仮定すると、次のようになります。
$ lmx get foo
しかし、これを行うと:
echo "$lmx_setting_$2"
うまくいかないようです
ベストアンサー1
この問題を解決する方法はいくつかありますが、最も移植性の高い方法はおそらく
eval "echo \$lmx_setting_$2"
しかし、評価を避けるbashの具体的な方法は次のとおりです。
temp="lmx_setting_$2"
echo ${!temp}
以前に経験したことがない場合は、bashのマニュアルページを開き、下にスクロールしてパラメータ拡張すべてのオプションを確認してください。環境変数について具体的に質問しましたが、その変数をエクスポートする必要がなく、十分な新しいbashバージョン(4.0+)がある場合は、連想配列を使用して全体的な混乱を避けることができます...しかし、スクリプトは実際には携帯できません。