[고급]배열의 사용법과 활용

Bash 쉘에서 배열은 여러 값을 하나의 변수에 저장하고 처리하는 데 사용됩니다. 배열은 인덱스를 사용하여 값을 참조하며, 배열의 크기는 동적으로 조정될 수 있습니다.

  1. 배열 선언:

    • array_name=(value1 value2 value3 ...): 배열을 선언하고 초기 값으로 초기화합니다.
  2. 배열 값 접근:

    • ${array_name[index]}: 인덱스를 사용하여 배열의 특정 위치에 있는 값을 가져옵니다.
    • ${array_name[@]}: 배열의 모든 값에 접근합니다.
  3. 배열 길이:

    • ${#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

게시됨

카테고리

,

작성자