shell 조건식

OS/리눅스 & 유닉스 2011. 9. 14. 08:58

    조건식

    if, while, until 구문에서는 조건식이 사용된다. 조건식은 참과 거짓의 결과를 내는 구문이다. 참일 경우 조건식은 0을 반환하고, 거짓일 경우에는 1을 반환한다. 조건식의 형식은 다음과 같다.

    test 식
    [ 식 ]
    :

    식은 파일식, 문자열식, 수식의 세 종류로 크게 나눌 수 있다. :는 항상 참임을 나타낸다. while, until에서 무한 루프를 만들기 위해 사용된다.

    파일식은 어떤 파일의 속성을 검사하는 것으로 다음과 같은 종류가 있다.

    -b 파일 : 파일이 블럭 장치 파일이면 참
    -c 파일 : 파일이 문자 장치 파일이면 참
    -d 파일 : 파일이 디렉토리이면 참
    -e 파일 : 파일이 존재하면 참
    -f 파일 : 파일이 정규 파일이면 참
    -L 파일 : 파일이 심볼릭 링크이면 참
    -p 파일 : 파일이 네임드(named) 파이프이면 참
    -S 파일 : 파일이 소켓이면 참
    -r 파일 : 파일이 읽기 가능이면 참
    -s 파일 : 파일의 크기가 0보다 크면 참
    -w 파일 : 파일이 쓰기 가능이면 참
    -x 파일 : 파일이 실행 가능이면 참
    파일1 -nt 파일2 : 파일1이 파일2보다 새로운 파일이면 참
    파일1 -ot 파일2 : 파일1이 파일2보다 오래된 파일이면 참
    파일1 -ef 파일2 : 파일1과 파일2가 같은 파일이면 참

    문자열식은 문자열에 대한 비교를 한다.

    -z 문자열 : 문자열의 길이가 0이면 참
    -n 문자열 : 문자일의 길이가 0이 아니면 참
    문자열1 = 문자열2 : 문자열1과 문자열2가 같으면 참
    문자열1 != 문자열2 : 문자열1과 문자열2가 다르면 참

    수식은 숫자값을 비교한다. 양의 정수, 음의 정수, 0, 변수값이 올 수 있다.

    값1 -eq 값2 : 값1 = 값2
    값1 -ne 값2 : 값1 != 값2
    값1 -lt 값2 : 값1 < 값2
    값1 -le 값2 : 값1 <= 값2
    값1 -gt 값2 : 값1 > 값2
    값1 -ge 값2 : 값1 >= 값2

    이외에도 다음과 같이 식 전체에 대한 연산이 가능하다.

    ! 식 : 식에 대한 부정(not)
    식1 -a 식2 : 식1과 식2에 대한 논리곱(and)
    식1 -o 식2 : 식1과 식2에 대한 논리합(or)

'OS > 리눅스 & 유닉스' 카테고리의 다른 글

유닉스(리눅스) 시그널 종류  (0) 2011.11.08
vim 메뉴얼  (0) 2011.11.02
Bash를 이용한 쉘 스크립팅  (0) 2011.09.08
2>&1  (0) 2011.09.08
awk  (0) 2011.09.08
: