반응형

if 조건문 사용법

  *주의점

              대괄호  [  ]  의 앞 뒤는 반드시 공백이 있어야 함

              변수의 입력 방식 ${변수명}

              if 로 시작해서 fi 로 끝남

if [ 조건 ]
then
  참일 때 실행
if

- 예시 test.sh

#!/bin/sh

a=1

if [ ${a} == "1" ]
then
  echo "True"
else
  echo "False"
fi

exit 0

결과

같다(equal) 조건문 3가지

    문자열(string)이 같을 때

  1. == 

    값(value)이 같을 때

  2. =

  3. -eq

#!/bin/sh

a=1

if [ ${a} == "1" ]
then
  echo "True"
else
  echo "False"
fi

if [ ${a} = "1" ]
then
  echo "True"
else
  echo "False"
fi

if [ ${a} -eq "1" ]
then
  echo "True"
else
  echo "False"
fi

exit 0

 

반응형

 

다르다(negative equal) 조건문 2가지

     문자열(string)이 다를 때

  1. !=  

     값(value)이 다를 때

  2. -ne

#!/bin/sh

a=1

if [ ${a} != "1" ]
then
  echo "True"
else
  echo "False"
fi


if [ ${a} -ne "1" ]
then
  echo "True"
else
  echo "False"
fi

exit 0

 

b보다 a가 크다(greater than) 조건문

    -gt  ( a > b)

#!/bin/sh

a=1
b=2

if [ ${a} -gt ${b} ]
then
  echo "True"
else
  echo "False"
fi

exit 0

b 보다 a가 같거나 크다(greater equal) 조건문

    -ge  ( a >= b)

#!/bin/sh

a=1
b=2

if [ ${a} -ge ${b} ]
then
  echo "True"
else
  echo "False"
fi

exit 0

 

 

b 보다 a가 작다(less than) 조건문

    -lt  ( a < b)

#!/bin/sh

a=1
b=2

if [ ${a} -gt ${b} ]
then
  echo "True"
else
  echo "False"
fi

exit 0

b보다 a가 같거나 작다(less equal) 조건문

    -le  ( a <= b)

#!/bin/sh

a=1
b=2

if [ ${a} -le ${b} ]
then
  echo "True"
else
  echo "False"
fi

exit 0

 

 

 

<< 파일 관련 조건문 >>

-d ${파일명} 파일명 이 directory(디렉터리) 일 때 True
-e ${파일명} 파일명 이 존재하면 True (파일 폴더 가리지 않고 존재 확인)
-f ${파일명} 파일 유무 및 보통파일인지 확인
-g ${파일명} 파일명 에 Group id가 있으면 True
-r ${파일명} 파일명 이 readable(읽기 가능)이면 True
-s ${파일명} 파일명 의 크기가 0이 아니면 True
-u ${파일명} 파일명 이 user id가 있으면 True
-w ${파일명} 파일명 이 writable(쓰기가능)이면 True
-x ${파일명} 파일명 이 executable(실행 가능)이면 True

예) fileName의 경로에 해당 파일이 있는지 없는지 확인하는 예제

#!/bin/sh

fileName="/root/mybash.sh"

if [ -e ${fileName} ]
then
  echo "File is existed"
else
  echo "File is not existed"
fi

exit 0

해당 경로에 파일이 있음으로...
파일이 존재함

 

(알아두기)

NULL이 아니면 참

    -n

NULL이 맞으면 참

    -z

수식이 거짓이면 참(NOT조건)

    !수식

AND 조건

    &&

    -a

OR 조건

    ||

    -o

 

AND연산자 사용 예

#!/bin/sh

echo "Tell me your file name"
read fname

if [ -f ${fname} ] && [ -s ${fname} ] ;
then
  echo "existed"
else
  echo "non-existed or 0 size"
fi

exit 0

(결과) AND조건으로 파일 존재 유무 확인

 

 

더 자세한 사항은 아래 블로거님 참고

hand-over.tistory.com/32

 

Shell script(쉘) if 조건문, 조건식

안녕하세요. 오늘은 쉘 스크립트에서 if 문과 조건식 사용하는 방법을 포스팅할께요. if 문 사용법 if 문 형식은 아래와 같습니다. (if 문 후에 나오는 '[' 사이에 스페이스바가 들어가야 합니다.) if

hand-over.tistory.com

blackinkgj.github.io/shell-program/

 

[Linux Shell] Linux 쉘(sh)에서의 if문 사용

Linux 쉘(sh)에서 if문을 사용 해보도록 한다.

blackinkgj.github.io

 

반응형

+ Recent posts