ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Shell Script] 파일인지 폴더인지 if문 및 옵션
    SW/Shell Script 2019. 8. 18. 14:36

    파일인지 혹은 디렉토리인지 확인하기 및 if문 조건 옵션.

    #!/bin/bash
    dir=test
    if [ -f $dir ]; then
       echo "file"
    elif [ -d $dir ]; then
       echo "directory"
    else
       echo "I don't know"
    fi

    ∴ 비교 할때 -eq은 숫자를 비교할때 보통 사용하고 = (!=) 기호는 문자열을 비교할 때 사용한다.

    -a(e) 파일 : 파일이 존재하는가 
    -b 파일 : 파일이 특수 블록 장치인가
    -c 파일 : 특수 문자 인가? (직렬 라인과 터미널 장치를 식별하는데 사용)
    -d 파일  : 디렉터리인가
    -f 파일 : 파일인가
    -g 파일 : SGID 비트가 설정되었는가
    -h(L) 파일 : 심볼릭 링크인가
    -k 파일 : 스티키 비트가 설정되었는가
    -n 문자열 : 길이가 0바이트보다 긴가
    -z 문자열 : 문자열의 길이가 0인가?
    -x 파일 : 현재 사용자가 이 파일을 실행할 수 있는가?
    -w 파일 : 현재 사용자가 이 파일을 쓸수있는가
    -r 파일 : 현재 사용자가 이 파일을 읽을 수 있는가
    -s 파일 : 이 파일이 존재하는가? 그리고 크기가 0바이트보다 큰가?
    -S 파일 : 이 파일이 존재하는가 그리고 소켓인가
    조건 -a 조건 : and
    조건 -o 조건 : or
    파일1 -nt 파일2 : 파일1이 2보다 나중파일인가?
             -ot   : 오래된 파일인가
             -ef   : 링크로 연결 되어있는가?
             -eq  : 같은가
             -nq  : 다른가
             -ge  : 크거나 같은가 
             -gt  : 큰가 
             -le  : 작거나 같은가
             -lt  : 작은가

    조건을 확인하고 없으면 만들기

    dir="./test"
    [ -d "$dir" ] || mkdir $dir

    && 사용하면 참이면 뒤에 명령어를 실행한다.

    댓글

Designed by Tistory.