https://jink1982.tistory.com/48
if 문 기본 사용 법
쉘에서 if문을 사용 시 조건 식이 문자로 되어있어 다소 어려움을 겪을 수 있습니다.
예를 들어 if ( a = b ) 이런 것이 if[ a -eq b ];then fi 형식으로 되어 있다 보니 if문을 사용 시 조건식을 보면서 짜야 할 정도 입니다.
|
if [ 값1 조건식 값2 ];then 수행문 fi |
if 한칸 띄고 [ 넣고 값과 조건식을 넣어야 하는데 띄어쓰기도 틀리면 스크립트 에러가 나므로 유의하셔서 작성 하시기 바랍니다.
아래는 if문을 활용한 예제 입니다.
|
#! /bin/ksh
value=0
if [ ${value} -eq 0 ];then echo value is 0 fi |
결과는 value가 0이므로 "value is 0"이 출력 됩니다.
if 문에 사용되는 조건문 종류
if문에 사용 되는 조건식은 아래와 같습니다.
|
[ -z ] : 문자열의 길이가 0이면 참 [ -n ] : 문자열의 길이가 0이 아니면 참
[ -eq ] : 값이 같으면 참 [ -ne ] : 값이 다르면 참 [ -gt ] : 값1 > 값2 [ -ge ] : 값1 >= 값2 [ -lt ] : 값1 < 값2 [ -le ] : 값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랑 같은 파일이면 참 |
if문에 다양한 조건식을 활용한 예제 입니다.
|
#! /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 |
여기서 AND와 OR 조건 사용 형식에 대해 알아보겠습니다.
|
if [ 값1 조건식 값2 -a 값1 조건식 값2 ];then 수행문 fi |
|
if [ 값1 조건식 값2 -o 값1 조건식 값2 ];then 수행문 fi |