728x90
반응형
정확하진 않지만 쉘 스크립트는 2차원 배열은 지원하지 않는 것 같습니다.
bash의 경우는 지원하지 않는다는 글을 읽어 보았는데
다른 쉘의 경우도 그러한지는 모르겠네요.
하여 아래처럼 1차원 배열을 2차원처럼 사용하는 코드를 작성해 보았습니다.
#!/bin/bash array1=(11 12 13 14 15) array2=(21 22 23 24 25) array3=(31 32 33 34 35) array4=(41 42 43 44 45) array5=(51 52 53 54 55) array=(array1 array2 array3 array4 array5) for((i=0; i<${#array[*]}; ++i)) do Line=${array[i]}[*] # 1. 문자열 생성 : 1차원 배열명+[*] #Line=${array[i]}[*] #Line=${array[0]}[*] #Line= array1 [*] #Line="array1[*]" Line=(${!Line}) # 2. 실제 이름으로 전환 후 배열화 #Line=(${!Line}) #Line=(${array1[*]}) #Line=(11 12 13 14 15) for ((j=0; j<${#Line[*]}; ++j)) do printf "${Line[j]} " done echo done echo ============== for Temp in ${array[*]} do Line="$Temp[*]" Line=(${!Line}) for Temp2 in ${Line[*]} do printf "${Temp2} " done echo done

위의 그림에서 Line 18의 설명은 아래 링크에 가면 볼 수 있습니다.
https://wowcat.tistory.com/3106

728x90
'기술자료 > Shell Script' 카테고리의 다른 글
터미널에서 GUI 프로그램 원격 실행 (Remote Widows Run By Terminal) (0) | 2023.08.07 |
---|---|
쉘 스크립트 느낌표 사용 방법 Bang Exclamation mark shell script (0) | 2021.06.29 |