문제 5] 다음과 같이 출력되는 스크립트를 if와 case를 이용해서 작성하시오.
==================
서비스 제어 관리
==================
[1] Network Service
[2] Xinetd Service
[3] Ssh Service
제어할 서비스 번호를 입력하시오 : 1
[1] Network Service Start
[2] Network Service Stop
[3] Network Service Restart
원하는 서비스 번호를 입력하시오 : 1
loopback 인터페이스를 활성화 중: [ OK ]
eth0 인터페이스 활성화 중: [ OK ]
# vi service3.sh
---------------------------------------------------------
#!/bin/bash
echo "
==================
서비스 제어 관리
==================
[1] Network Service
[2] Xinetd Service
[3] Ssh Service"
echo " "
echo -n "제어할 서비스 번호를 입력하시오 : "
read num;
if [ "$num" = "1" ]
then
echo "
[1] Network Service Start
[2] Network Service Stop
[3] Network Service Restart"
echo " "
echo -n "원하는 서비스 번호를 입력하시오 : "
read num2;
case $num2 in
1) service network start;;
2) service network stop;;
3) service network restart;;
*) echo "
잘못된 번호를 선택하셨습니다. (1/2/3)
처음 메뉴 화면으로 이동됩니다." && sh service3.sh;;
esac
exit
elif [ "$num" = "2" ]
then
echo "
[1] Xinetd Service Start
[2] Xinetd Service Stop
[3] Xinetd Service Restart"
echo " "
echo -n "원하는 서비스 번호를 입력하시오 : "
read num2;
case $num2 in
1) service xinetd start;;
2) service xinetd stop;;
3) service xinetd restart;;
*) echo "
잘못된 번호를 선택하셨습니다. (1/2/3)
처음 메뉴 화면으로 이동됩니다." && sh service3.sh;;
esac
exit
elif [ "$num" = "3" ]
then
echo "
[1] Ssh Service Start
[2] Ssh Service Stop
[3] Ssh Service Restart"
echo " "
echo -n "원하는 서비스 번호를 입력하시오 : "
read num2;
case $num2 in
1) service sshd start;;
2) service sshd stop;;
3) service sshd restart;;
*) echo "
잘못된 번호를 선택하셨습니다. (1/2/3)
처음 메뉴 화면으로 이동됩니다." && sh service3.sh;;
esac
exit
fi
[root@server3 data]# cat service3.sh
#!/bin/bash
echo "
==================
서비스 제어 관리
==================
[1] Network Service
[2] Xinetd Service
[3] Ssh Service"
echo " "
echo -n "제어할 서비스 번호를 입력하시오 : "
read num;
if [ "$num" = "1" ]
then
echo "
[1] Network Service Start
[2] Network Service Stop
[3] Network Service Restart"
echo " "
echo -n "원하는 서비스 번호를 입력하시오 : "
read num2;
case $num2 in
1) service network start;;
2) service network stop;;
3) service network restart;;
*) echo "
--------------------------------------
잘못된 번호를 선택하셨습니다. (1/2/3)
처음 메뉴 화면으로 이동됩니다.
--------------------------------------" && sh service3.sh;;
esac
exit
elif [ "$num" = "2" ]
then
echo "
[1] Xinetd Service Start
[2] Xinetd Service Stop
[3] Xinetd Service Restart"
echo " "
echo -n "원하는 서비스 번호를 입력하시오 : "
read num2;
case $num2 in
1) service xinetd start;;
2) service xinetd stop;;
3) service xinetd restart;;
*) echo "
잘못된 번호를 선택하셨습니다. (1/2/3)
처음 메뉴 화면으로 이동됩니다." && sh service3.sh;;
esac
exit
elif [ "$num" = "3" ]
then
echo "
[1] Ssh Service Start
[2] Ssh Service Stop
[3] Ssh Service Restart"
echo " "
echo -n "원하는 서비스 번호를 입력하시오 : "
read num2;
case $num2 in
1) service sshd start;;
2) service sshd stop;;
3) service sshd restart;;
*) echo "
잘못된 번호를 선택하셨습니다. (1/2/3)
처음 메뉴 화면으로 이동됩니다." && sh service3.sh;;
esac
exit
elif [ "$num" -ge 4 ]
then
echo " "
echo "잘못된 번호를 입력하셨습니다."
echo -n "처음 메뉴로 이동하시겠습니까? (1=yes / 2=no) : "
read Y;
case $Y in
1) sh service3.sh;;
*) echo " " && echo "종료합니다." ;;
esac
exit
==================
서비스 제어 관리
==================
[1] Network Service
[2] Xinetd Service
[3] Ssh Service
제어할 서비스 번호를 입력하시오 : 1
[1] Network Service Start
[2] Network Service Stop
[3] Network Service Restart
원하는 서비스 번호를 입력하시오 : 1
loopback 인터페이스를 활성화 중: [ OK ]
eth0 인터페이스 활성화 중: [ OK ]
# vi service3.sh
---------------------------------------------------------
#!/bin/bash
echo "
==================
서비스 제어 관리
==================
[1] Network Service
[2] Xinetd Service
[3] Ssh Service"
echo " "
echo -n "제어할 서비스 번호를 입력하시오 : "
read num;
if [ "$num" = "1" ]
then
echo "
[1] Network Service Start
[2] Network Service Stop
[3] Network Service Restart"
echo " "
echo -n "원하는 서비스 번호를 입력하시오 : "
read num2;
case $num2 in
1) service network start;;
2) service network stop;;
3) service network restart;;
*) echo "
잘못된 번호를 선택하셨습니다. (1/2/3)
처음 메뉴 화면으로 이동됩니다." && sh service3.sh;;
esac
exit
elif [ "$num" = "2" ]
then
echo "
[1] Xinetd Service Start
[2] Xinetd Service Stop
[3] Xinetd Service Restart"
echo " "
echo -n "원하는 서비스 번호를 입력하시오 : "
read num2;
case $num2 in
1) service xinetd start;;
2) service xinetd stop;;
3) service xinetd restart;;
*) echo "
잘못된 번호를 선택하셨습니다. (1/2/3)
처음 메뉴 화면으로 이동됩니다." && sh service3.sh;;
esac
exit
elif [ "$num" = "3" ]
then
echo "
[1] Ssh Service Start
[2] Ssh Service Stop
[3] Ssh Service Restart"
echo " "
echo -n "원하는 서비스 번호를 입력하시오 : "
read num2;
case $num2 in
1) service sshd start;;
2) service sshd stop;;
3) service sshd restart;;
*) echo "
잘못된 번호를 선택하셨습니다. (1/2/3)
처음 메뉴 화면으로 이동됩니다." && sh service3.sh;;
esac
exit
fi
[root@server3 data]# cat service3.sh
#!/bin/bash
echo "
==================
서비스 제어 관리
==================
[1] Network Service
[2] Xinetd Service
[3] Ssh Service"
echo " "
echo -n "제어할 서비스 번호를 입력하시오 : "
read num;
if [ "$num" = "1" ]
then
echo "
[1] Network Service Start
[2] Network Service Stop
[3] Network Service Restart"
echo " "
echo -n "원하는 서비스 번호를 입력하시오 : "
read num2;
case $num2 in
1) service network start;;
2) service network stop;;
3) service network restart;;
*) echo "
--------------------------------------
잘못된 번호를 선택하셨습니다. (1/2/3)
처음 메뉴 화면으로 이동됩니다.
--------------------------------------" && sh service3.sh;;
esac
exit
elif [ "$num" = "2" ]
then
echo "
[1] Xinetd Service Start
[2] Xinetd Service Stop
[3] Xinetd Service Restart"
echo " "
echo -n "원하는 서비스 번호를 입력하시오 : "
read num2;
case $num2 in
1) service xinetd start;;
2) service xinetd stop;;
3) service xinetd restart;;
*) echo "
잘못된 번호를 선택하셨습니다. (1/2/3)
처음 메뉴 화면으로 이동됩니다." && sh service3.sh;;
esac
exit
elif [ "$num" = "3" ]
then
echo "
[1] Ssh Service Start
[2] Ssh Service Stop
[3] Ssh Service Restart"
echo " "
echo -n "원하는 서비스 번호를 입력하시오 : "
read num2;
case $num2 in
1) service sshd start;;
2) service sshd stop;;
3) service sshd restart;;
*) echo "
잘못된 번호를 선택하셨습니다. (1/2/3)
처음 메뉴 화면으로 이동됩니다." && sh service3.sh;;
esac
exit
elif [ "$num" -ge 4 ]
then
echo " "
echo "잘못된 번호를 입력하셨습니다."
echo -n "처음 메뉴로 이동하시겠습니까? (1=yes / 2=no) : "
read Y;
case $Y in
1) sh service3.sh;;
*) echo " " && echo "종료합니다." ;;
esac
exit
fi
---------------------------------------------------------
문제 6] 구구단을 실행하는 스크립트를 until을 사용해서 작성하시오.
구구단 프로그램
단을 입력하시요 : 2
=============
2단
=============
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18
# vi tt10.sh
---------------------------------------------------------
#!/bin/bash
echo " "
echo "구구단 프로그램"
echo " "
echo -n "단을 입력하시요 : "
read dan
num=1
echo "============="
echo " $dan단 "
echo "============="
until [ $num -gt 9 ] or until [ $num -eq 10 ]
do
num1=`expr $dan \* $num`
echo $dan X $num = $num1
num=`expr $num + 1`
done
---------------------------------------------------------
문제 7] 구구단을 실행하는 스크립트를 작성하시오. (2~9단)
# vi tt10.sh
---------------------------------------------------------
1. until 사용
#!/bin/bash
echo " "
echo "구구단 프로그램"
echo " "
dan=2
num=1
until [ $dan -eq 10 ]
do
echo "============="
echo " $dan단 "
echo "============="
until [ $num -gt 9 ]
do
num1=`expr $dan \* $num`
echo $dan X $num = $num1
num=`expr $num + 1`
done
dan=`expr $dan + 1`
num=0
echo " "
done
2. while 사용
#!/bin/bash
echo " "
echo "구구단 프로그램"
echo " "
dan=2
num=1
while [ $dan -le 9 ]
do
echo "============="
echo " $dan단 "
echo "============="
while [ $num -le 9 ]
do
num1=`expr $dan \* $num`
echo $dan X $num = $num1
num=`expr $num + 1`
done
dan=`expr $dan + 1`
num=1
echo " "
done
3. for 사용
#!/bin/bash
echo " "
echo "구구단 프로그램"
echo " "
for dan in 2 3 4 5 6 7 8 9
do
echo "============="
echo " $dan단 "
echo "============="
for num in 1 2 3 4 5 6 7 8 9
do
num1=`expr $dan \* $num`
echo $dan X $num = $num1
done
echo " "
done
---------------------------------------------------------
---------------------------------------------------------
문제 6] 구구단을 실행하는 스크립트를 until을 사용해서 작성하시오.
구구단 프로그램
단을 입력하시요 : 2
=============
2단
=============
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18
# vi tt10.sh
---------------------------------------------------------
#!/bin/bash
echo " "
echo "구구단 프로그램"
echo " "
echo -n "단을 입력하시요 : "
read dan
num=1
echo "============="
echo " $dan단 "
echo "============="
until [ $num -gt 9 ] or until [ $num -eq 10 ]
do
num1=`expr $dan \* $num`
echo $dan X $num = $num1
num=`expr $num + 1`
done
---------------------------------------------------------
문제 7] 구구단을 실행하는 스크립트를 작성하시오. (2~9단)
# vi tt10.sh
---------------------------------------------------------
1. until 사용
#!/bin/bash
echo " "
echo "구구단 프로그램"
echo " "
dan=2
num=1
until [ $dan -eq 10 ]
do
echo "============="
echo " $dan단 "
echo "============="
until [ $num -gt 9 ]
do
num1=`expr $dan \* $num`
echo $dan X $num = $num1
num=`expr $num + 1`
done
dan=`expr $dan + 1`
num=0
echo " "
done
2. while 사용
#!/bin/bash
echo " "
echo "구구단 프로그램"
echo " "
dan=2
num=1
while [ $dan -le 9 ]
do
echo "============="
echo " $dan단 "
echo "============="
while [ $num -le 9 ]
do
num1=`expr $dan \* $num`
echo $dan X $num = $num1
num=`expr $num + 1`
done
dan=`expr $dan + 1`
num=1
echo " "
done
3. for 사용
#!/bin/bash
echo " "
echo "구구단 프로그램"
echo " "
for dan in 2 3 4 5 6 7 8 9
do
echo "============="
echo " $dan단 "
echo "============="
for num in 1 2 3 4 5 6 7 8 9
do
num1=`expr $dan \* $num`
echo $dan X $num = $num1
done
echo " "
done
---------------------------------------------------------
'Linux > Exercise' 카테고리의 다른 글
네트워크 서비스 보안 - iptables 예제(2) (0) | 2009.02.02 |
---|---|
네트워크 서비스 보안 - Iptables 예제(1) (0) | 2009.02.02 |
쉘프로그래밍 기초 3 - 연습용 (0) | 2008.11.24 |
쉘프로그래밍 기초 - 연습용 (0) | 2008.11.20 |
리눅스 시스템 1차 테스트 - 모범답안 (1) | 2008.11.19 |
리눅스 시스템 1차 테스트 - 연습용 (0) | 2008.11.19 |