프로그래밍 언어에서는 여러 변수를 한꺼번에 다루기 위해서 '배열(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
댓글