Bashで複数の配列を繰り返してその値を印刷すると、配列の値が変更されます。なぜ?
#!/bin/bash
a=("02" "20")
b=("02" "20")
n=("02" "20")
p=("02" "20")
for p in ${p[@]}
do
for b in ${b[@]}
do
for a in ${a[@]}
do
for n in ${n[@]}
do
echo $b-$a-$n-$p
done;
done;
done;
done
echo "${a[*]}"
コマンドはecho "${a[*]}"
生成され20 20
ますが、02 20
ありがとうございます!
ベストアンサー1
この行は:
for a in ${a[@]}
再割り当てされる値a
(この場合、再割り当てされる0番目のインデックスを意味しますa
)