#!/bin/bash
#함수 사용법
function C() {
echo "I am C Function"
}
function B() {
echo "I am C Function"
return 1
}
function A() {
echo "I am C Function"
return 2
}
A;echo $?
B;echo $?
C;echo $?
D
function D()
{
echo "I am C Function"
return 2
}
--실행
[root@localhost ~]# sh /root/function_01.sh
I am C Function
2
I am C Function
1
I am C Function
0 --return 값을 따로 부여하지 않았으므로 종료상태인 0으로 출력된다
/root/function_01.sh: 줄 22: D: 명령어를 찾을 수 없음
--함수를 이용한 소스코드 간소화
#!/bin/bash
while true
do
echo "====== 사칙연산 프로그램 ======"
echo "1) 더하기"
echo "2) 빼기"
echo "3) 곱하기"
echo "4) 나누기"
echo "5) 종료"
echo -n "메뉴 선택(1~5): "
read sel
### 함수 정의 영역
function input() {
if [ $sel -eq 5 ]; then
return
else
echo -n "숫자1 입력: "
read num1
echo -n "숫자2 입력: "
read num2
fi
}
function duhagi(){
let "sum = num1 + num2"
echo "덧셈 결과: $sum"
}
function bbaegi(){
let "sub = num1 - num2"
echo "뺄셈 결과: $sub"
}
function gobhagi(){
let "mul = num1 * num2"
echo "곱셈 결과: $mul"
}
function nanugi(){
if [[ "$num2" -eq 0 ]]; then
echo "0으로 나눌 수 없습니다."
else
let "div = num1 / num2"
echo "나눗셈 결과: $div"
fi
}
#### 스크립트 실행
input
case "$sel" in
1)
duhagi
;;
2)
bbaegi
;;
3)
gobhagi
;;
4)
nanugi
;;
5)
echo "프로그램을 종료합니다"
break # 반복문 빠져나올 때 사용
;;
*)
echo "잘못된 메뉴를 선택하셨습니다"
break # 잘못된 선택일 때도 반복문을 빠져나오도록 설정
;;
esac
done
--실행
[root@localhost ~]# sh calc_loop_func.sh
====== 사칙연산 프로그램 ======
1) 더하기
2) 빼기
3) 곱하기
4) 나누기
5) 종료
메뉴 선택(1~5): 1
숫자1 입력: 2
숫자2 입력: 2
덧셈 결과: 4
====== 사칙연산 프로그램 ======
1) 더하기
2) 빼기
3) 곱하기
4) 나누기
5) 종료
메뉴 선택(1~5): 2
숫자1 입력: 3
숫자2 입력: 1
뺄셈 결과: 2
====== 사칙연산 프로그램 ======
1) 더하기
2) 빼기
3) 곱하기
4) 나누기
5) 종료
메뉴 선택(1~5): 3
숫자1 입력: 1
숫자2 입력: 2
곱셈 결과: 2
====== 사칙연산 프로그램 ======
1) 더하기
2) 빼기
3) 곱하기
4) 나누기
5) 종료
메뉴 선택(1~5): 4
숫자1 입력: 6
숫자2 입력: 2
나눗셈 결과: 3
====== 사칙연산 프로그램 ======
1) 더하기
2) 빼기
3) 곱하기
4) 나누기
5) 종료
메뉴 선택(1~5): 5
프로그램을 종료합니다