Bash 쉘에서 배열은 여러 값을 하나의 변수에 저장하고 처리하는 데 사용됩니다. 배열은 인덱스를 사용하여 값을 참조하며, 배열의 크기는 동적으로 조정될 수 있습니다.
-
배열 선언:
array_name=(value1 value2 value3 ...)
: 배열을 선언하고 초기 값으로 초기화합니다.
-
배열 값 접근:
${array_name[index]}
: 인덱스를 사용하여 배열의 특정 위치에 있는 값을 가져옵니다.${array_name[@]}
: 배열의 모든 값에 접근합니다.
-
배열 길이:
${#array_name[@]}
: 배열의 길이를 반환합니다.
[기본 샘플 코드]
배열 선언과 값 접근:
fruits=("apple" "banana" "orange")
echo ${fruits[0]} # "apple" 출력
echo ${fruits[1]} # "banana" 출력
배열 길이:
fruits=("apple" "banana" "orange")
echo ${#fruits[@]} # 3 출력
[응용 코드]
다른 함수와 함께 사용하는 예시:
# 배열 출력 함수
print_array() {
local array_name="$1"
for element in "${array_name[@]}"; do
echo "$element"
done
}
# 배열 선언과 출력
fruits=("apple" "banana" "orange")
print_array "${fruits[@]}"
조건문과 반복문과 함께 사용하는 샘플 코드:
# 배열 값 순회
fruits=("apple" "banana" "orange")
for fruit in "${fruits[@]}"; do
echo "I like $fruit"
done
# 배열 필터링
numbers=(10 20 30 40 50)
for num in "${numbers[@]}"; do
if ((num > 30)); then
echo $num
fi
done
[성능 향상을 위한 팁]
- 배열의 크기를 동적으로 조정하는 것보다 초기에 배열의 크기를 설정하고 사용하는 것이 성능상 유리합니다.
- 반복문에서 배열의 길이를 미리 계산하여 변수에 저장하면 반복 중에 계속 길이를 계산하는 비용을 줄일 수 있습니다.
[성능 향상을 위한 팁에 해당하는 샘플 코드]
# 배열의 길이를 변수에 저장하여 반복문에서 사용
fruits=("apple" "banana" "orange")
length=${#fruits[@]}
for ((i = 0; i < length; i++)); do
echo ${fruits[i]}
done