프로그래밍/운영체제

Bash 2차원 배열 정의 및 Loop 탐색

포도알77 2020. 11. 29. 20:40

Bash 2차원 배열 정의 및 Loop 탐색

 

 Bash에서는 1차원 배열만 공식적으로 지원하기 때문에 2차원 배열을 사용해야 하는 경우에는 배열을 선언하고 그 배열을 다시 배열에 넣는 과정을 거쳐야한다.

 

1. Bash 코드

row1=("1" "2" "3" "4" "5")
row2=("6" "7" "8" "9" "10")

records=(row1 row2)

for record in ${records[*]}
do
    row="$record[*]"
    echo "Row --- " $record
    for col in ${!row}
    do
        echo $record $col
    done
done

2. 실행 결과

Row ---  row1
row1 1
row1 2
row1 3
row1 4
row1 5
Row ---  row2
row2 6
row2 7
row2 8
row2 9
row2 10

 

3.결론

 (1) 2차원 배열은 array 안에 미리 정의한 array를 나열한다.

 (2) 2차원 배열에서 1차원 배열의 변수 이름은 첫번째 for loop의 변수에 담겨있다.

 (3) 1차원 배열에 다시 접근하기 위해서는 row="$record[*]"를 수행하여 for X in ${!row}로 실행하면 X가 1차원 배열에 담긴 값이다.

 

 

페이스북으로 공유카카오톡으로 공유카카오스토리로 공유트위터로 공유URL 복사