배열(Array)은 여러 요소를 하나로 모아 관리하는 자료 구조입니다. Bash에서는 배열에 문자열과 숫자처럼 서로 다른 타입의 요소를 섞어 담을 수 있습니다.
이 튜토리얼에서는 Bash에서 배열을 만들고 사용하는 방법을 알아봅니다. 또한 반복문으로 순회하기, 출력하기, 크기 구하기, 내용 수정하기 등 배열의 핵심 연산도 함께 다룹니다.
Bash에서 배열 생성하는 방법
Bash 배열을 만드는 방법은 두 가지가 있습니다.
declare 키워드 사용하기
declare -a my_bash_array
위 명령은 "my_bash_array"라는 이름의 인덱스 배열(indexed array)을 생성합니다.
배열 초기화하기
할당 연산자 =와 괄호 () 안에 요소를 나열하는 방식으로 배열을 즉석에서 생성하고 초기화할 수도 있습니다.
my_bash_array=("apple" "orange" "banana")
또는 인덱스를 직접 지정해 요소를 하나씩 추가할 수도 있습니다.
my_bash_array[0]="apple"
my_bash_array[1]="orange"
my_bash_array[2]="banana"
참고: = 연산자 앞뒤에는 공백이 없어야 합니다.
Bash 배열 길이(크기) 구하기
배열의 길이나 크기를 구하려면 ${#array_name[@]} 문법을 사용합니다.
예시:
my_bash_array=(foo bar baz)
echo "the array contains ${#my_bash_array[@]} elements"
#출력
the array contains 3 elements
Bash 배열 반복문으로 순회하기
Bash 배열의 모든 요소를 순회하려면 for 반복문을 사용하면 됩니다.
#!/bin/bash
my_array=(foo bar baz)
# 각 요소를 순회하는 for 루프
for i in "${my_array[@]}"
do
echo $i
done
출력:
foo
bar
baz
모든 요소 한 번에 출력하기
반복문 없이 배열의 모든 요소를 출력하려면 다음 문법을 사용합니다.
echo ${my_array[@]}
배열에 요소 추가하기
배열에 요소를 추가할 때는 += 연산자를 사용합니다. 이 경우 새 요소가 배열의 맨 끝에 추가됩니다.
예시:
my_array=(foo bar)
my_array+=(baz)
echo "${my_array[@]}"
foo bar baz
인덱스를 직접 지정해 요소를 추가할 수도 있습니다.
my_array=(foo bar)
my_array[2]=baz
echo "${my_array[@]}"
foo bar baz
배열에서 요소 삭제하기
Bash 배열에서 특정 요소를 삭제하려면 unset 명령을 사용합니다.
예시:
my_array=(foo bar baz)
unset my_array[1]
echo ${my_array[@]}
foo baz
마무리
이 튜토리얼에서는 Bash 배열의 기본 개념부터 시작해, declare 키워드와 할당 연산자를 이용한 배열 생성 및 초기화 방법, 그리고 배열 길이 구하기, 반복문으로 순회하기, 요소 출력하기, 요소 추가·삭제 등 실무에서 자주 쓰이는 배열 연산까지 살펴보았습니다. 이 내용을 바탕으로 셸 스크립트에서 배열을 더욱 효율적으로 활용해 보세요.