RedHat Linux >> System Administration for Redhat Linux
|
[목차] |
제2장 쉘 프로그래밍
6. 조건문 Ⅰ - if..else 이 문법은 조건에 맞을 경우 then 이후의 문장을 수행하며 그렇지 않을 경우에는else 문을 수행하게 됩니다.
일반적인 문법은 다음과 같다. if test then, else,fi단어 들은 쉘에서 사용되는 예약어이며, 이것들의 구분은 그 단어 다음에 줄 바꿈 문자를 사용하든지;(세미콜론) 문자를 사용합니다. if 문의 끝은 fi로 종료합니다. if test if문은 위와 같이 내포문으로 중첨해서 사용될 수도 있습니다. 줄여서 아래와 같이 사용할 수 있습니다. if ... 이 문법은 조건에 맞을 경우 then 이후의 문장을 수행하며 그렇지 않을 경우에는 elif 또는 else 문을 수행하게 됩니다.
예 : /etc/rc.d/rc.local if [ -f /etc/redhat-release ]; then
앞의 스크립트는 /etc/redhat-release가 존재한다면 /etc/redhat-release라는 파일을 화면에 보여주며, 없을 경우에는 'release unknow'을 출력합니다. if 문장의 끝에 fi를 사용했습니다. 주의하세요. 위에서 보면 -f 라는 옵션이 있는데 이것은 /etc/redhat-release라는 파일이 존재할 경우 참의 값을 갖게 하는 것입니다. 이외에도 파일에 관련된 많은 옵션이 있는데 간단히 알아보고 넘어 갑시다.
-f 파일이 존재한다면 -d 디렉토리이면 -x 실행 가능하다면 앞의 옵션은 가장 많이 사용되는 파일 관련 옵션이므로 간단히 외워두기 바랍니다.
예 : # vi if1.sh #!/bin/sh exit 0 위에서 table 이라고 입력하면 GOOD이 나타나게 됩니다. 그렇지 않으면, Failure가 나타납니다.
test 문에서 사용할 수 있는 연산자는 다음과 같다. 사용방법 : test $A 연산자 $B
문자열 비교 string1 = string2 두문자열이
같다면 참
산술비교 식1 -eq 식2 두식이
같다면 참
파일조건 -d file file이
디렉토리라면 참
|
[목차] |