[RHEL 공통] 쉘 스크립트에서 -gt와 -ge의 차이점
본문 바로가기
IT 이야기/Linux

[RHEL 공통] 쉘 스크립트에서 -gt와 -ge의 차이점

by 찬찬이 아빠 2019. 11. 25.
반응형

쉘 스크립트에서 비교문과 사용 예제는 다음과 같습니다.

 

1. 수 비교

 -eq ( = ) : 같다

 -ne ( !=) : 같지 않다

 -gt ( < ) : 초과

 -ge ( =< ) : 이상

 -lt ( > ) : 미만

 -le ( >= ) : 이하

 

예) /etc/hosts.deny 파일의 내용 중 ALL: 이란 단어를 검색 후 갯수를 확인하여 결과가 0과 같을 경우 참, 아닐경우 거짓

#!/bin/bash
if ['cat /etc/hosts.deny | grep "ALL:" | wc -l' -eq 0 ]; then
	echo "참"
else
	echo "거짓"
fi

 

2. 문자열 비교

 = 또는 == : 같다

 !=  같지 않다

 -z : 문자열이 null 또는 길이가 0

 -n : 문자열이 null이 아님

 

예) /root/test.sh 파일의 내용이 있을 경우 파일 퍼미션을 644로 변경하고 내용이 없을 경우 "None" 라는 내용 추가

#!/bin/bash
if [ -n "/root/test.sh" ]; then
	chmod 664 /root/test.sh
else
	echo "none" > /root/test.sh
fi

 

 

3. 기타

 -f : 파일이 존재하는지 확인

 -d : 디렉터리가 존재하는지 확인

 -x : 파일 실행

 

예) /root/test 라는 디렉터리가 존재할 경우 해당 디렉터리 안에 test.sh라는 파일을 생성하고, 존재하지 않을 경우 디렉터리를 생성하고 파일 생성

#!/bin/bash
if [ -d /root/test ]; then
	touch /root/test/test.sh
else
	mkdir -p /root/test
	touch /root/test/test.sh
fi
반응형

댓글