¡Hola, Mondo!

[쉘 스크립트] if문 본문

Programming/Shell Script

[쉘 스크립트] if문

베지(Beji) 2016. 11. 1. 15:32

 

if문


 

1)

 

if [ 조건 ] ; then 

[조건이 참일 경우 출력]

fi

 

 

2)

 

if [ 조건 ] ; then 

[조건이 참일 경우 출력]

else

[조건이 거짓일 경우 출력]

fi

 

3)

 

if [ 조건1 ] ; then 

[조건1이 참일 경우 출력]

elif [ 조건2 ]

[조건2이 일 경우 출력]

else

[조건1, 조건2가 거짓일 경우 출력]

fi

 

 

[조건]


 

1. 수치 비교 

: 소수점 이하는 무시

 

[ $A -eq $B ] : A와B의 값이 같은경우


[ $A -ne $B ] : A와B의 값이 다른경우


[ $A -gt $B ] : A가B보다 큰경우


[ $A -lt $B ] : A가B보다 작은경우


[ $A -ge $B ] : A가B보다 크거나 같은 경우


[ $A -le $B ] : A가B보다 작거나 같은경우

 

 

2. 문자열 비교

 

[ "String1" = "String2" ] : 두 문자열이 같은경우 참


[ "String1 != "String2" ] : 두 문자열이 다른경우 참


[ -z "String" ] : 문자열의 길이가 0인경우 참


[ -n "String" ] : 문자열의 길이가 0이 아닌경우 참

 

 

 

3. 파일 상태

 

[ -s filename ] : file이 존재하며, 크기가 0보다 큰 경우 참


[ -f filename ] : directory가 아닌 file인 경우 참 (파일 크기가 0인경우도 포함)


[ -d directoryname] : file이 아닌 directory인 경우 참


[ -w filename ] : 쓰기가 가능한 경우 참


[ -r filename ] : 읽기가 가능한 경우 참


[ -g filename ] : file상에 set-group-id가 설정되어되었으면 참


[ -e name ] :  해당 이름의 file이나 directory, pipe, special device 등 어떤 것이든지 존재할 경우 참


[ ! -option filename ] : option의 조건이 거짓이 되는경우 참

 

 

 

 

예시


 

 

:  조건문 [ ! -e "etc" ] 는  "etc"라는 이름을 가진 파일이나 디렉토리가 존재하지 않을 경우 참을 반환하여 etc 라는 이름의 디렉토리를 생성하게 된다.

 

Comments