Bash에서는 배열(Array)을 사용하여 여러 데이터를 한 변수에 저장할 수 있습니다.
그중 Indexed Array(인덱스 배열) 은 숫자 인덱스로 요소를 관리하는 배열입니다.
파이썬의 리스트와 비슷한 개념으로 이해하면 쉽습니다.
배열 선언 및 초기화
# 배열 선언
declare -a array_variable
# 배열 선언과 동시에 초기화
array_variable=(abc def xyz)
- declare -a 명령으로 배열임을 명시할 수 있습니다.
- 괄호 () 안에 요소들을 공백으로 구분하여 나열하면 됩니다.
배열 값 추가
array_variable+=(aaa)
- +=를 사용하면 기존 배열에 새 값을 추가(append) 할 수 있습니다.
- 예: ("abc" "def" "xyz" "aaa")\
배열 요소 삭제
unset array_variable[1]
#예시
array=(a b c d)
unset array[1]
echo ${array[@]} # 출력: a c d
echo ${!array[@]} # 출력: 0 2 3 ← 인덱스는 그대로 유지됨
- 인덱스 번호를 지정해 해당 요소를 삭제합니다.
- 인덱스는 0부터 시작합니다.
- 주의: unset으로 요소를 삭제해도 인덱스 번호는 재정렬되지 않습니다.
즉, array_variable[1]이 삭제되면 [0], [2], [3]은 그대로 남습니다.
배열 값 확인
# 전체 element 출력
echo ${array_variable[@]}
# 특정 element 출력
echo ${array_variable[0]} # 첫 번째 요소
배열 관련 내장 기능
| 명령어 | 설명 |
| ${!array_variable[@]} | key(인덱스) 전체 목록 |
| ${array_variable[@]} | 모든 요소 출력 |
| ${array_variable[n]} | n번째 요소 출력 |
| ${#array_variable[@]} | 배열의 전체 길이 (요소 개수) |
| ${array_variable[@]:s:n} | s번째부터 n개의 요소 슬라이싱 |
예시
array=(apple banana cherry)
echo ${array[1]} # banana
echo ${array[@]} # apple banana cherry
echo ${#array[@]} # 3
echo ${array[@]:1:2} # banana cherry
정리하면
Bash의 Indexed Array는 간단한 데이터 리스트를 다룰 때 매우 유용합니다.
반복문(for)과 함께 사용하면, 파일 이름 목록, 서버 리스트, 경로 등 다양한 데이터를 손쉽게 처리할 수 있습니다
⚠️ 참고: unset 명령으로 요소를 삭제해도 인덱스는 유지되므로, 반복문에서 순서가 중요한 경우 주의해야 합니다.
'개발 환경 및 프로젝트 관리 > Linux 개념' 카테고리의 다른 글
| Bash에서의 Quoting — 따옴표 정리 (0) | 2025.10.09 |
|---|---|
| Bash — Associative Array (연관 배열) (0) | 2025.10.09 |
| Bash의 Special Parameters 정리 (0) | 2025.10.09 |
| Bash에서의 Positional Parameters (위치 매개변수) (0) | 2025.10.09 |
| Bash 환경 변수(Environment Variable) 정리 (0) | 2025.10.09 |