본문 바로가기
Old Posts/Linux

[Linux] Bash 배열(Array) 사용법 및 예제

by A6K 2021. 6. 22.

프로그래밍 언어에서는 여러 변수를 한꺼번에 다루기 위해서 '배열(Array)'이라는 자료구조를 사용한다. 배열을 사용하면 여러 데이터를 간단한 몇 줄로 처리할 수 있어 편리하다.

Bash 역시 배열을 지원한다.

Bash 배열(Array) 사용법

배열 선언하기

array_1=("value 1" "value 2" "value 3")
array_2=(1 2 3)

다른 명령어의 결과를 배열로 만들려면

IFS=$'\n' ARR=(`cat test.txt`)

cat test.txt로 출력되는 결과 값을 '\n' 값으로 분리해서 배열로 만들 수 있다.

배열 참조하기

array=("value 1" "value 2" "value 3")

echo "${array[2]}"  # 2번 인덱스에 대한 값 출력
echo "${array[@]}"  # 모든 값 출력
echo "${!array[@]}" # 배열의 모든 인덱스 값 출력
echo "${#array[@]}" # 배열의 사이즈 (엘리먼트 개수) 출력
echo "${#array[2]}" # 2번 인덱스에 해당하는 값의 사이즈 출력

출력 결과는 다음과 같다.

배열 값 순회하기

array=("value 1" "value 2" "value 3")

for value in "${array[@]}"; do
  echo ${value}
done;

# 출력결과
# value 1
# value 2
# value 3

for (( i = 0; i < ${#array[@]} ; i++ )) ; do
  echo "${array[$i]}"
done;

# 출력결과
# value 1
# value 2
# value 3

댓글