반응형
쉘 스크립트에서 비교문과 사용 예제는 다음과 같습니다.
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
반응형
'IT 이야기 > Linux' 카테고리의 다른 글
[RHEL6] 시스템 log 파일을 하루 단위로 분리하여 저장 (0) | 2019.11.25 |
---|---|
[RHEL6] echo 포트(7) 오픈 (0) | 2019.11.25 |
[RHEL 공통] NAS 장비 umount 시 device busy가 발생 (0) | 2019.11.25 |
[RHEL 공통] 데이터 이관 후 한글이 포함된 파일만 출력 (0) | 2019.11.22 |
[RHEL6] NTP 서비스 설정 (0) | 2019.11.22 |
댓글