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