레벨244-1 : 쉘프로그램내에서 사용되는 if~else문의 사용방법과 실 사용 예
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,922 조회
- 0 추천
- 목록
본문
레벨244-1 : 쉘프로그램내에서 사용되는 if~else문의 사용방법과 실 사용 예
리눅스 쉘프로그램내에서의 if~else문은 조건식을 평가하여 프로그램의 흐름을 분기하기 위한 목적으로 사용됩니다. 사용되는 형식은 주로 “if 테스트문 then ~ else~fi”와 같이 사용되며 주어진 테스트문을 평가하여 결과가 참이면 then다음의 문장이 실행되고 결과가 참이 아닐 경우 else다음의 문장이 실행됩니다. 그리고 fi는 if~else문의 끝임을 표시하는 문장입니다.
간단히 if~else문의 사용형식을 나타내면 다음과 같습니다.
if [ 테스트문 ] then 참일 경우 실행될 명령문들 else 거짓일 경우 실행될 명령문들 fi |
다음 예로든 쉘프로그램은 if명령어편에서 예로든 쉘프로그램을 if~else문으로 수정한 것입니다.
즉, if문에서 회원카드를 가지고 있을 경우 then다음의 echo문에 의해“OK! Please. come in..."이 출력되고 그렇지 않을 경우에 else 다음의 echo문에 의해 “Sorry! you are not allowed”이 출력되는 간단한 쉘프로그램입니다.
[root@command root]# cat if003.sh #!/bin/bash
echo "Do you have a membership card (y/n): " read answer
if [ "$answer" = Y -o "$answer" = y ] then echo "OK! Please. come in..." else echo "Sorry! you are not allowed" fi [root@command root]# |
즉, 이 프로그램을 실행시키면 맨 먼저 echo문에 의해 "Do you have a membership card (y/n): "이 출력이 되고 그 다음 read문에 의해 사용자의 입력을 기다립니다. 여기서 사용자가 입력한 값이 Y또는y일 경우에 "OK! Please. come in..."라는 메시지를 출력하고 Y나 y가 아닐 경우에는 "Sorry! you are not allowed"이 출력됩니다.
이 프로그램에서는 if~then~else~fi의 구조를 잘 살펴보시기 바랍니다.
아래는 if003.sh 쉘프로그램을 실행한 예입니다.
[root@command root]# ./if003.sh Do you have a membership card (y/n): y
OK! Please. come in... [root@command root]# [root@command root]# ./if003.sh Do you have a membership card (y/n): n
Sorry! you are not allowed [root@command root]# |
첫번째의 실행에서 사용자의 입력이 y이기 때문에 then다음의 echo문에 의해“OK! Please. come in...”이라는 메시지가 출력 되었습니다.
두번째의 실행에서 사용자의 입력이 Y또는 y가 아니기 때문에 else다음의 echo문에 의해 “Sorry! you are not allowed”메시지가 출력된 것입니다.
관련자료
-
이전
-
다음