♦ 조건문의 형식

 조건문은 []로 묶어지며 [ -f /etc/passwd ] 조건식을 주었을 때 [ -f 조건식은 공백을 꼭 띄워 주며, 조건의 끝임을 알리는 ;을 입력하며, 만일 then 문장을 입력할 때는 ; 을 생략해도 >된다

if [ 조건 ]; then

             문장

elif [ 조건 ]; then

             문장

else

             문장

fi

if command; then

             문장

elif command; then

             문장

else

             문장

fi

 

test 명령어 연산자

test 명령어는 뒤에 오는 조건식을 검사하여 참, 거짓 여부를 판단 할 수 있다.

)         test expressions

             [ expressions ]

 

산술 비교 연산자

제어문

설명

val1 –eq val2

equal, 변수 val1과 변수 val2 같은 경우 true

val1 –ne val2

negative, 변수 val1과 변수 val2 다른 경우 true

val1 –gt val2

greater then, 변수 val1이 변수 val2 보다 큰 경우 true

val1 –lt val2

less then, 변수 val1이 변수 val2 보다 작은 경우 true

val1 –ge val2

greater or equal, 변수 val1이 변수 val2 보다 크거나 같은 경우 true

val1 – le val2

less or equal, 변수 val1이 변수 val2 보다 작거나 가은 경우 true

 

파일 검사 연산자

제어문

설명

-a

파일이 존재한 경우 true

-b

파일이 존재하고 블록장치 파일인 경우 true

-c

파일이 존재하고 캐릭터 장치 파일인 경우 true

-d

파일이 존재하고 디렉토리인 경우 true

-e

파일이 존재하고 파일이 있는 경우 true

-f

파일이 존재하고 정규 파일인 경우 true

-g

파일이 존재하고 SetGID가 설정된 경우 true

-h

파일이 존재하고 한 개 이상의 심볼릭 링크가 설정된 경우 true

-k

파일이 존재하고 Sticky bit가 설정된 경우 true

-p

파일이 존재하고 FIFO인 경우 true

-r

파일이 존재하고 읽기 가능한 경우 true

-s

파일이 존재하고 0보다 큰 경우 true

-u

파일이 존재하고 SetUID가 설정된 경우 true

-w

파일이 존재하고 쓰기가 가능한 경우 true

-x

파일이 존재하고 실행 가능한 경우 true

 

문자열 비교 연산자

제어문

설명

-z string

문자열의 길이가 0인 경우 true

-n string

문자열의 길이가 0이 아닌 경우 true

string1 = string2

문자열 string1string2가 일치하는 경우

string1 != string2

문자열 string1string2가 일치하지 않는 경우

string

문자열이 NULL이 아닌 경우

 

예제

#!/bin/bash

# $# 입력 받은 매개 변수의 개수를 의미

if [ $# -lt 1 ]; then

             echo “$0 <Account>…”

             exit 0

fi

 

# 명령의 결과를 저장하기 위해 `( back quarter)를 사용했다.

# ‘(single quarter)과 혼동 할 수 있으므로 주의 하도록 한다.

ret=`grep –w “^$1” /etc/passwd`

 

if test –n “$ret” ; then

             echo $ret

else

             echo “User not found”

fi

 

원문 : Linux system & Shell programming(영진 닷 컴)

Posted by kukuta

댓글을 달아 주세요

  1. 444 2013.10.28 18:49  댓글주소  수정/삭제  댓글쓰기

    산술 비교 연산자 qt...

  2. 444 2013.10.28 18:49  댓글주소  수정/삭제  댓글쓰기

    산술 비교 연산자 qt...

  3. 좋은 자료 감사합니다 2016.04.29 11:31  댓글주소  수정/삭제  댓글쓰기

    좋은 자료 감사합니다

  4. guest 2016.05.11 16:08  댓글주소  수정/삭제  댓글쓰기

    자료 감사합니다.

  5. SJ 2019.10.15 14:14  댓글주소  수정/삭제  댓글쓰기

    감사합니다 힘내세요^^