私は変数を特定のファイルに含まれる数に従って割り当てる必要があるプロジェクトに取り組んでいます。すべてのコードを含めて説明するのは無意味かもしれないと思うので、私は単純な例を含む質問に減らしました。このサンプルコードでBash:ループ変数に依存する代入と参照
for ((i=1; i<=3; i++));
do
align_$i=100_$i
done
、私は(他の2の中で)、次のエラーを取得しています:
line 3: align_1=100_1: command not found
ので、私は私のメソッドの置換が働いている知っているが、それは正しい割り当てとして認識されません。私は明らかに簡単な間違いを犯していますが、本当にこれを解決する方法はありません。
ちょっとしたアイデア:私は、変数がループ変数に二重依存する変数の値を呼び出す際に問題が発生しています。私はalign_1の値を呼び出しますが、
for ((i=1; i<=3; i++));
do something with $align_$i
のようにそうする必要がありますする必要が別のループにあった場合 ので、上記の例からなって正しい出力を使用して、どのように私はこれを適切に行うだろうか?これらの変数を使用することは別のループになければなりません。そうしないと、この問題は発生しません。
私は簡単な質問をお詫び申し上げます.Bashは私の強みではありません。あなたは、アレイ(または非数値キーで連想配列)を使用している場合ではない
これの必要性は、一般的に回避することができます:
は
これは間違いなく、間接的な割り当てや拡張に関する多くの多くの質問と重複しています。 –
特に[BashFAQ#6](http://mywiki.wooledge.org/BashFAQ/006)を参照してください。 –