Categories: Bash Scripts

리눅스 스크립트 기초 – 5일차: 함수와 배열 활용








리눅스 스크립트 기초: 5일차 – 함수와 배열 활용

리눅스 스크립트 기초: 5일차 – 함수와 배열 활용

안녕하세요! 저는 MJ입니다. 오늘은 리눅스 스크립트의 5일차로, 함수와 배열을 활용하여 스크립트를 작성하는 방법에 대해 알아보겠습니다. 함수를 사용하면 코드의 재사용성을 높이고, 배열을 활용하여 여러 데이터를 효율적으로 관리할 수 있습니다.

1. 함수 정의하기

리눅스에서 함수를 정의하는 방법은 간단합니다. function 키워드 또는 함수 이름 뒤에 괄호를 사용하여 함수를 정의할 수 있습니다.

function 함수이름 {
    명령어
}

또는

함수이름() {
    명령어
}

예제: 간단한 함수 만들기

아래의 스크립트는 두 숫자의 합을 계산하는 함수를 정의하고 호출하는 예제입니다:

#!/bin/bash
sum() {
    result=$(($1 + $2))
    echo "두 수의 합은 $result입니다."
}

sum 5 10

출력 결과:

두 수의 합은 15입니다.

2. 함수의 반환값

함수에서 값을 반환하려면 return 키워드를 사용할 수 있습니다. 하지만, 반환할 수 있는 값은 정수형으로 제한됩니다.

function multiply {
    return $(($1 * $2))
}

예제: 반환값 사용하기

아래의 스크립트는 두 숫자의 곱을 계산하고 반환하는 함수를 정의합니다:

#!/bin/bash
multiply() {
    return $(($1 * $2))
}

multiply 5 4
echo "5와 4의 곱은 $?입니다."

출력 결과:

5와 4의 곱은 20입니다.

3. 배열 사용하기

배열은 여러 값을 저장할 수 있는 데이터 구조입니다. 배열은 declare 명령어를 사용하여 정의할 수 있습니다.

declare -a 배열이름=("값1" "값2" "값3")

예제: 배열 정의하기

아래의 스크립트는 배열을 정의하고 각 요소를 출력하는 예제입니다:

#!/bin/bash
declare -a fruits=("사과" "바나나" "체리")

echo "과일 리스트:"
for fruit in "${fruits[@]}"; do
    echo "$fruit"
done

출력 결과:

과일 리스트:
사과
바나나
체리

4. 배열의 특정 요소 접근하기

배열의 특정 요소에 접근하려면 인덱스를 사용합니다. 인덱스는 0부터 시작합니다.

echo "${fruits[0]}"  # 첫 번째 요소 출력

예제: 배열 요소 접근하기

아래의 스크립트는 배열의 특정 요소를 출력하는 예제입니다:

#!/bin/bash
declare -a colors=("빨강" "초록" "파랑")
echo "첫 번째 색상은 ${colors[0]}입니다."

출력 결과:

첫 번째 색상은 빨강입니다.

5. 실습: 함수와 배열 활용하기

이제 함수와 배열을 활용하여 간단한 계산기 스크립트를 작성해 보겠습니다. 사용자가 여러 숫자를 입력하면 합계를 계산하는 스크립트입니다:

#!/bin/bash
declare -a numbers
echo "숫자를 입력하세요 (종료하려면 'q' 입력):"

while true; do
    read num
    if [ "$num" == "q" ]; then
        break
    fi
    numbers+=("$num")
done

sum=0
for n in "${numbers[@]}"; do
    sum=$((sum + n))
done
echo "입력한 숫자의 합은 $sum입니다."

출력 결과:

숫자를 입력하세요 (종료하려면 'q' 입력):
5
10
15
q
입력한 숫자의 합은 30입니다.

결론

오늘은 리눅스 스크립트의 5일차로 함수와 배열을 활용하는 방법에 대해 알아보았습니다. 함수를 사용하여 코드의 재사용성을 높이고, 배열을 통해 여러 데이터를 효과적으로 관리할 수 있습니다. 다음 시간에는 조건문과 반복문을 결합하여 더 복잡한 스크립트를 작성해 보도록 하겠습니다!

감사합니다!


mj

Recent Posts

파이썬 대화형 대시보드 디자인 원칙

대화형 대시보드의 효과적인 디자인 원칙과 예시를 소개합니다.

3시간 ago

파이썬으로 대화형 대시보드 구현하기 – mj의 블로그

파이썬을 이용한 대화형 대시보드 구현 방법을 배우고 다양한 예시를 확인하세요.

9시간 ago

파이썬으로 대화형 대시보드 만들기 – 데이터 시각화의 새로운 차원

파이썬으로 대화형 대시보드를 만드는 방법과 기법을 소개합니다.

18시간 ago

파이썬으로 대용량 데이터 효율적으로 처리하기

파이썬을 이용한 대용량 데이터 처리 기법을 안내합니다. 효율적인 데이터 처리 방법을 배워보세요.

3일 ago

파이썬에서 대규모 데이터 처리하기: 효과적인 기법과 예시

대규모 데이터를 처리하는 방법과 기법을 소개합니다. 파이썬을 활용한 효과적인 예시 포함.

3일 ago

파이썬에서 NumPy로 다차원 배열 다루기 – 효율적인 배열 생성과 조작

NumPy를 활용한 다차원 배열 생성과 조작하는 방법을 알아보세요.

6일 ago