次のループで異なる名前のファイルセットを処理するために、シェルスクリプトで動的var名を生成しようとしています。
SAMPLE1='1-first.with.custom.name'
SAMPLE2='2-second.with.custom.name'
for (( i = 1; i <= 2; i++ ))
do
echo SAMPLE{$i}
done
私は出力を期待しています:
1-first.with.custom.name
2-second.with.custom.name
しかし、私は次のようになります。
SAMPLE{1}
SAMPLE{2}
var名を動的に生成できますか?
ベストアンサー1
配列を使用しない理由は、同様の操作を実行するために使用されます。
sample[1]='1-first.with.custom.name'
sample[2]='2-second.with.custom.name'
for (( i = 1; i <= 2; i++ ))
do
echo ${sample[$i]}
done
また、予約された変数名が誤って使用されないようにするには、スクリプト内の変数名をすべて大文字にしないでください。