-
변태 개발자되기 프로젝트 - 쉘 스크립트 배열쉘 스크립트 기초 2022. 3. 5. 11:20반응형
안녕하세요 레인스톤입니다:)
오늘은 지난시간에 살펴본 변수에 이어서 배열에 대해 살펴보겠습니다.
배열
bash shell에서 배열을 만드는 법도 어렵지 않습니다.
즉 기존에 사용하시던 프로그래밍 언어의 방식과 크게 다르지 않습니다.
#!/bin/sh TEST_ARR=(1 2 3 4 5) echo $TEST_ARR
자~ 지난 시간 변수 파트에서 배운 것처럼 변수명과 값사이에 공백없이 =을 사용해줍니다.
그리고 원하는 값을 ()안에 넣어주면 배열완성!
위 스크립트를 실행하면 1 2 3 4 5가 나오겠죠?
sh test.sh 1 ## 실행결과
???? 왜 1만나옴...?
진짜 당황해서 찾아보니 인덱스를 지정하지 않으면 첫 번째값만 출력된다고합니다.
배열의 모든 값을 출력하고 싶으면 인덱스에 * 또는 @를 사용해주면 된다고합니다.
#!/bin/sh TEST_ARR=(1 2 3 4 5) # 배열의 모든 값에 접근 echo ${TEST_ARR[@]} # 실행결과 1 2 3 4 5 echo ${TEST_ARR[*]} # 실행결과 1 2 3 4 5
이쯤되면 배열값을 한 번 바꿔보고 싶어지는데요?
따로 찾아보지말고 제가 알고있는 프로그래밍 방식대로 바꿔볼까요?
#!/bin/sh TEST_ARR=(1 2 3 4 5) TEST_ARR[0]=0 echo ${TEST_ARR[@]}
TEST_ARR에 0번 인덱스에 접근해서 0으로 바꿔준다!
그리고 결과를 살펴보면!?
sh test.sh 0 2 3 4 5
오 ~ 성공적으로 값이 바뀌는 걸 확인했습니다.
bash shell이라고 해서 막 그렇게 변태같지는 않은 거 같네요:)
이번엔 배열의 길이를 한 번 확인해보겠습니다.
요건 프로그래밍 지식으로는 안되더라구요 ㅠㅠ
bash shell에서는 일반적으로 count를 확인할 때 #을 사용하는 것 같아요!
#!/bin/sh TEST_ARR=(1 2 3 4 5) echo ${#TEST_ARR[@]}
쨘 ~ 차이점이 보이시나요?
모든 배열에 접근을 하는 ${ARR[@]} 앞에 #을 넣어주면 됩니다.
sh test.sh 5
그럼 이렇게 배열의 길이(카운트)를 확인할 수 있습니다.
기본적인 배열 사용법 크게 어렵지 않죠?
끗!
bash shell의 세계는 멀고도 험한 것 같습니다.
다음 시간에는 반복문 사용법으로 돌아오겠습니다:)
오늘 하루도 화이팅~!
반응형'쉘 스크립트 기초' 카테고리의 다른 글
변태 개발자되기 프로젝트 - 기본 커맨드와 변수 (0) 2022.03.01 변태 개발자되기 프로젝트 - 쉘 스크립트 설정 (0) 2022.02.27