안녕하세요!
오늘은 지난시간에 이어 쉘 프로그래밍을 통해서 간단한 실습을 해보려고 합니다!
오늘 만들어볼 프로그램은 계산기 프로그램입니다!
저는 두가지 버전을 만들어 보았습니다.
1. function을 이용한 계산기
2. case를 이용한 계산기
코드는 아래 참고 하시면 되겠습니다.
1. calcOne.sh
#!/bin/bash
# 숫자 입력 받기
read -p "숫자 입력 : " num1 num2
# 더하기 function
function myadd {
if [ $# -lt 2 ]; then
echo "Usafe : $(basename$0) <num1> <num2> [<num3>....]" >&2
exit 5
fi
echo $[$1 + $2]
}
# 빼기 function
function mysub {
if [ $# -lt 2 ]; then
echo "Usafe : $(basename$0) <num1> <num2> [<num3>....]" >&2
exit 5
fi
echo $[$1 - $2]
}
# 곱셈 function
function mymul {
if [ $# -lt 2 ]; then
echo "Usafe : $(basename$0) <num1> <num2> [<num3>....]" >&2
exit 5
fi
echo $[$1 * $2]
}
# 나눗셈(몫) function
function mydiv {
if [ $# -lt 2 ]; then
echo "Usafe : $(basename$0) <num1> <num2> [<num3>....]" >&2
exit 5
fi
echo $[$1 / $2]
}
myadd $num1 $num2
mysub $num1 $num2
mymul $num1 $num2
mydiv $num1 $num2
결과는 아래와 같습니다.
2. calcTwo.sh
#!/bin/bash
# 숫자 입력 받기
read -p ">> 숫자 입력 : " num1 num2 num3
# 연산자 판별 후 수식에 맞게 계산.
case $num2 in
'+') result=`expr $num1 + $num3`;;
'-') result=`expr $num1 - $num3`;;
'*') result=`expr $num1 \* $num3`;;
'/') result=`expr $num1 / $num3`;;
'%') result=`expr $num1 % $num3`;;
esac
# 결과값 출력
echo ">> result : $result"
2번째 쉘의 결과는 연산자에 계산이 됩니다. 결과는 위의 사진과 같습니다.
오늘 두가지의 버전을 통해서 쉘을 해보았습니다.
여러분들이 만드신 쉘도 공유해주시면 저도 더 좋은 프로그램을 만들어 볼 수 있을거같습니다 ㅎ
수고많으셨습니다!
'서버 > 리눅스' 카테고리의 다른 글
[리눅스 도전기] 쉘 프로그래밍(1) (0) | 2021.06.04 |
---|---|
[리눅스 도전기] putty (0) | 2021.01.14 |
[리눅스 도전기 11편] tail (0) | 2021.01.12 |
[리눅스 도전기 10편] head (0) | 2021.01.11 |
[리눅스 도전기 9편] rm (0) | 2021.01.10 |