강좌
클라우드/리눅스에 관한 강좌입니다.
프로그램 분류

쉘프로그래밍강좌036: 쉘프로그램내에서 사용되는 if~else문의 사용방법과 실 사용 예

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

쉘프로그래밍강좌036: 쉘프로그램내에서 사용되는 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@RockyLinux01 test]# cat if003.sh

#!/bin/bash

 

echo "Do you have a mebership 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@RockyLinux01 test]#

 

 

 

 

,  이 프로그램을 실행시키면 맨 먼저 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@RockyLinux01 test]# ./if003.sh

Do you have a mebership card (y/n):

y

Ok! please, come in...

[root@RockyLinux01 test]#

[root@RockyLinux01 test]#

[root@RockyLinux01 test]# ./if003.sh

Do you have a mebership card (y/n):

n

Sorry! you are not allowed

[root@RockyLinux01 test]#

 

 

 

 

첫번째의 실행에서 사용자의 입력이 y이기 때문에 then다음의 echo문에 의해“OK! Please. come in...”이라는 메시지가 출력 되었습니다.

 

 

 

 

 

두번째의 실행에서 사용자의 입력이 Y또는 y가 아니기 때문에 else다음의 echo문에 의해 “Sorry! you are not allowed”메시지가 출력된 것입니다.

 

 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,032 명
  • 현재 강좌수 :  35,772 개
  • 현재 접속자 :  130 명