반응형

산술 비교 연산자

제어문

설명

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

문자열 string1과 string2가 일치하는 경우

string1 != string2

문자열 string1과 string2가 일치하지 않는 경우

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(영진 닷 컴)

반응형

+ Recent posts