Shell script에서 배열(Array) 선언, 값 변경, 접근 등, 배열 사용 방법에 대해서 알아보겠습니다.

이 글의 예제들은 Ubuntu 20.04에서 Bash shell을 사용하여 작성되었습니다.

1. 배열 선언, 초기화

  • 기본적으로 배열은 ()로 선언 및 할당할 수 있습니다.
  • 배열 값 접근은 variable[index]로 접근할 수 있습니다.
#!/bin/bash

# 배열 선언 및 할당
fruits=("Apple" "Banana" "Orange" "Grape")

# 배열 요소 출력
echo "1: ${fruits[0]}"
echo "2: ${fruits[1]}"
echo "3: ${fruits[2]}"
echo "4: ${fruits[3]}"

Output:

$ bash example.sh
1: Apple
2: Banana
3: Orange
4: Grape

2. 다른 방법으로 배열 선언 및 초기화

아래와 같은 방법으로 배열 선언 및 초기화도 가능합니다.

  • fruits[index]=value로 배열 선언 및 초기화
  • fruits[index]로 값 접근
#!/bin/bash

# 배열 선언 및 할당
fruits[0]="Apple"
fruits[1]="Banana"
fruits[2]="Orange"
fruits[3]="Grape"

# 배열 요소 출력
echo "1: ${fruits[0]}"
echo "2: ${fruits[1]}"
echo "3: ${fruits[2]}"
echo "4: ${fruits[3]}"

Output:

$ bash example.sh
1: Apple
2: Banana
3: Orange
4: Grape

3. 배열의 값 변경

아래와 같은 방법으로 선언된 배열의 값을 변경할 수 있습니다.

  • fruits[index]=value로 배열 값 변경
#!/bin/bash

# 배열 선언 및 할당
fruits=("Apple" "Banana" "Orange" "Grape")

# 값 변경
fruits[0]="Kiwi"
fruits[2]="Watermelon"

# 배열 요소 출력
echo "1: ${fruits[0]}"
echo "2: ${fruits[1]}"
echo "3: ${fruits[2]}"
echo "4: ${fruits[3]}"

Output:

$ bash example.sh
1: Kiwi
2: Banana
3: Watermelon
4: Grape

4. for문으로 배열 순회

선언된 배열은 아래와 같은 방식으로 for문에서 사용될 수도 있습니다.

  • for fruit in "${fruits[@]}"; do : 배열의 모든 요소를 순회
#!/bin/bash

# 배열 정의
fruits=("Apple" "Banana" "Orange" "Grape")

# 배열의 각 항목을 순회하며 출력
for fruit in "${fruits[@]}"; do
    echo "Fruit: $fruit"
done

Output:

$ bash example.sh
Fruit: Apple
Fruit: Banana
Fruit: Orange
Fruit: Grape