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차원 배열에 담긴 값이다.
'프로그래밍 > 운영체제' 카테고리의 다른 글
Ubuntu에서 ffmpeg로 MOV 파일 mp4로 변환하기 (0) | 2023.02.19 |
---|---|
Ubuntu에서 HEIC 이미지를 jpg로 변환 (405) | 2023.02.19 |
[리눅스] Shell script와 Make 파일 이용하여 설치 간소화하기 (0) | 2019.07.04 |
[리눅스] 인터넷 NTP 이용한 시간 동기화와 강제 설정 방법 (0) | 2019.07.04 |
[맥북] Mac OS 단축키 모음 (0) | 2019.03.28 |