320x100
320x100

기본적인 쉘 파일 if 문 형식

 if [ 값1 조건식 값2 ];then
   수행문
 fi

 

- 쉘 파일에 쓰이는 조건문

# 문자열 길이
[ -z ] : 문자열의 길이가 0이면 참
[ -n ] : 문자열의 길이가 0이 아니면 참


# 문자열 비교
[ = ] : 문자열이 같으면 참
[ != ] : 문자열 같지 않으면 참


# 값의 동일 여부
[ -eq ] : 값이 같으면 참
[ -ne ] : 값이 다르면 참


# 값 비교 (좌항 우세)
[ -gt ] : 값1 > 값2
[ -ge ] : 값1  >= 값2


# 값 비교 (우항 우세)
[ -lt ] : 값1 < 값2
[ -le ] : 값1 <= 값2


# 이중 괄호 내 계산
[ (<) ] : 값1 < 값2
[ (>) ] : 값1 > 값2
[ (<=) ] : 값1 <= 값2
[ (>=) ] : 값1 >= 값2


# 연산자
[ -a ] : &&연산과 동일 and 연산
[ -o ] : ||연산과 동일 xor 연산


# 파일 및 디렉터리
[ -d ] : 파일이 디렉토리면 참
[ -e ] : 파일이 있으면 참
[ -L ] : 파일이 심볼릭 링크면 참
[ -r ] : 파일이 읽기 가능하면 참
[ -s ] : 파일의 크기가 0 보다 크면 참
[ -w ] : 파일이 쓰기 가능하면 참
[ -x ] : 파일이 실행 가능하면 참


# 파일 및 디렉터리 비교
[ 파일1 -nt 파일2 ]  : 파일1이 파일2보다 최신파일이면 참
[ 파일1 -ot 파일2 ]  : 파일1이 파일2보다 이전파일이면 참
[ 파일1 -ef 파일2 ] : 파일1이 파일2랑 같은 파일이면 참

 

 

 

예제

#! /bin/ksh

value=0
if [ $value -eq 0 ]; then
   echo value is 0  
fi


if [ $value -ne 1 ]; then
    echo value is not 1
fi


test=5
if [ $test -gt 2 -a $test -le 7 ]; then
    echo test greater then 2 and lower then 7
fi


str="test"
if [ $str = "test" ]; then
	echo "test_str is test"
else
	echo "test_str is not test"
fi

 

 

 

 

 

Reference

 

[Shell] 쉘 스크립트 if 문 사용법, 조건식

Shell Script( 쉘 스크립트 ) if 문 사용법, 조건식 if 문 기본 사용 법 쉘에서 if문을 사용 시 조건 식이 문자로 되어있어 다소 어려움을 겪을 수 있습니다. 예를 들어 if ( a = b ) 이런 것이 if[ a -eq b ];the

jink1982.tistory.com

 

[Shell Script] 셸 스크립트 조건문 if

셸 스크립트 조건문 Q. 이전 글에서 다룬 내용 - 개론 : 링크 - 출력 : 링크 - 주석과 변수 : 링크 - 배열...

blog.naver.com

 

300x250
728x90