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 |