'Shell Script'에 해당되는 글 1건

  1. 2008/01/24 Bywoong 쉘스크립트(Shell Script) - 조건문
[알림] 삭제된 동영상 및 이미지나 깨진 링크, 저작권에 문제가 될 소지가 있는 내용은 이곳에 알려주시면 바로 조치하도록 하겠습니다. 감사합니다. - Fortune Cookie

조건문의 형식

 조건문은 []로 묶어지며 [ -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

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

val1 –ne val2

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

val1 –qt val2

변수 val1이 변수 val2 보다 큰 경우 true

val1 –lt val2

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

val1 –ge val2

변수 val1이 변수 val2 보다 크거나 같은 경우 true

val1 – le val2

변수 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

 

2008/01/24 11:19 2008/01/24 11:19
관련글타래
    이글의 태그와 관련된 글이 없습니다.
    받은 트랙백이 없고, 댓글이 없습니다. 4060번 조회되었습니다.

    댓글을 달아 주세요

    [로그인][오픈아이디란?]

    구독안내 주 2~3회 새글이 올라옵니다. 블로그 방문없이 업데이트 되는 글을 구독하세요. RSS . E-Mail . HanRSS . WZD . Google Reader . Bloglines . Delicious Bookmark this on Delicious