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)

관련 정보