반응형
Bash Shell Script를 작성할 때 스크립트에 매개변수를 전달하거나 함수에서 반환값을 처리하는 방법은 매우 중요합니다. 이 포스팅에서는 매개변수와 반환값 처리 방법에 대해 설명하고, 예제 코드를 통해 이를 이해하는 데 도움을 드리겠습니다.
1. 스크립트 매개변수 처리
Bash 스크립트는 명령줄에서 매개변수를 받을 수 있습니다. 스크립트 내부에서는 특별한 변수 $1
, $2
, ..., $N
를 사용하여 전달된 매개변수를 참조합니다.
스크립트 매개변수 기본 사용법
$0
: 실행 중인 스크립트의 이름$1
,$2
, ...,$N
: 각각 첫 번째, 두 번째, ... 번째 매개변수$#
: 전달된 매개변수의 개수$@
: 모든 매개변수$*
: 모든 매개변수 (하나의 문자열로 처리)
예제: 매개변수 출력 스크립트
#!/bin/bash
# 스크립트 이름 출력
echo "Script Name: $0"
# 매개변수 개수 출력
echo "Number of Parameters: $#"
# 각 매개변수 출력
echo "First Parameter: $1"
echo "Second Parameter: $2"
# 모든 매개변수 출력
echo "All Parameters (\$@): $@"
echo "All Parameters (\$*): $*"
실행 예제
$ ./script.sh arg1 arg2 arg3
Script Name: ./script.sh
Number of Parameters: 3
First Parameter: arg1
Second Parameter: arg2
All Parameters ($@): arg1 arg2 arg3
All Parameters ($*): arg1 arg2 arg3
2. 함수 매개변수 처리
Bash 함수도 매개변수를 받을 수 있습니다. 함수 내부에서는 $1
, $2
, ..., $N
를 사용하여 매개변수를 참조합니다.
함수 매개변수 기본 사용법
my_function() {
echo "First Parameter: $1"
echo "Second Parameter: $2"
}
my_function "Hello" "World"
실행 결과
First Parameter: Hello
Second Parameter: World
3. 함수 반환값 처리
Bash 함수는 두 가지 방법으로 반환값을 처리할 수 있습니다:
return
명령어 사용: 정수 값을 반환합니다.echo
를 사용한 출력: 문자열이나 복잡한 데이터를 반환합니다.
return
명령어 사용
return
은 함수의 종료 상태를 나타내는 정수값을 반환합니다. 이 값은 $?
를 통해 확인할 수 있습니다.
예제: 정수 반환
my_function() {
local num1=$1
local num2=$2
# 두 숫자의 합을 계산
local sum=$((num1 + num2))
return $sum
}
my_function 3 5
# 함수 종료 상태 출력
echo "Return Value: $?"
실행 결과
Return Value: 8
주의:
return
은 0~255 범위의 값만 반환할 수 있습니다.
echo
를 사용한 출력
echo
를 사용하여 문자열이나 더 큰 범위의 데이터를 반환할 수 있습니다.
예제: 문자열 반환
my_function() {
local name=$1
echo "Hello, $name!"
}
result=$(my_function "Alice")
echo "Function Output: $result"
실행 결과
Function Output: Hello, Alice!
4. 실전 예제: 매개변수와 반환값을 사용하는 스크립트
다음은 매개변수를 받아 숫자를 더하고, 결과를 반환하는 스크립트입니다.
#!/bin/bash
add_numbers() {
local num1=$1
local num2=$2
# 숫자의 합 계산
local sum=$((num1 + num2))
echo $sum
}
# 매개변수 확인
if [ $# -lt 2 ]; then
echo "Usage: $0 <number1> <number2>"
exit 1
fi
# 함수 호출 및 결과 출력
result=$(add_numbers $1 $2)
echo "The sum of $1 and $2 is: $result"
실행 예제
$ ./script.sh 10 20
The sum of 10 and 20 is: 30
5. 매개변수 처리 시 유용한 팁
매개변수 개수 확인:
if [ $# -lt 2 ]; then echo "Insufficient parameters provided." exit 1 fi
기본값 설정:
name=${1:-"Guest"} echo "Hello, $name!"
배열로 매개변수 처리:
params=($@) echo "First Parameter: ${params[0]}" echo "Second Parameter: ${params[1]}"
결론
Bash 스크립트에서 매개변수와 반환값을 적절히 처리하는 것은 스크립트를 유연하고 재사용 가능하게 만듭니다. 이번 포스팅에서는 기본 사용법부터 실전 예제까지 다양한 내용을 다루었습니다. 앞으로 Bash 스크립트를 작성할 때, 매개변수와 반환값 처리를 적극 활용해보세요!
반응형
'Linux Bash shell script' 카테고리의 다른 글
Bash Shell Script 배열 선언 및 접근 방법 (0) | 2025.01.27 |
---|---|
Linux Bash Shell Script 함수 정의와 호출 (0) | 2025.01.25 |
Linux Bash Shell Script에서 배열 및 리스트 순회 (0) | 2025.01.24 |
Bash Shell Script 반복문(for, while, until) 이해하기 (0) | 2025.01.23 |
Linux Bash Shell Script 파일과 문자열 비교 (0) | 2025.01.22 |