文字列変数(ここでは配列)を代入しようとしていますが、エラーが発生しています。誰もこれを解決する方法を提案できますか?文字列変数を配列名に置き換えます。
COMP="MY"
MY_common_sections_to_fix=(\
".rodata" \
".data" \
)
echo ${${COMP}_common_sections_to_fix[@]}
ERROR:
$ {$ {} COMP _common_sections_to_fix [@]}:あなたが何をしようとして悪い置換
:
あなたがの場合はは
eval
と牛車が(残念なが)可能な選択肢である、利用可能bashの4.3を持っていませんか? 4.4には便利な組み込み関数が用意されています。 –あなたが初期化した配列は 'MY_common_sections_to_fix'なので、' L1CC_common_sections_to_fix'にアクセスしようとしています。それは非驚きのレベルです。しかし、変数の動的な命名も問題になります。あなたは 'MY_common_sections_to_fix'を保持する変数を作成し、' $ {!varname [@]} 'やそれをテストする方法を試すことができますが、' $ {!var} 'は' $ var' 。 (Semi-tested:結果は有望なものではありませんが、これ以上の通知がない限り動作しないと仮定しています) –
注意:動作しません - [shell parameter expansion](https://www.gnu.org)を参照してください。 /software/bash/manual/bash.html#Shell-Parameter-Expansion)を参照してください。間接的に配列名を拡張することはできないようです。 –