Bash:複数の配列を繰り返すと、配列の値が変わります。

Bash:複数の配列を繰り返すと、配列の値が変わります。

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

おすすめ記事