IF 문

Bash 스크립팅 입문

Alex Scriven

Data Scientist

기본 IF 문

Bash의 기본 IF 문 구조는 다음과 같습니다:

if [ CONDITION ]; then

# SOME CODE
else # SOME OTHER CODE
fi

두 가지 팁:

  • 대괄호와 내부 조건 요소 사이에 공백 (첫 줄)
  • 닫는 대괄호 뒤 세미콜론 ];
Bash 스크립팅 입문

IF 문과 문자열

IF 문에서 기본 문자열 비교를 할 수 있습니다:

x="Queen"

if [ $x == "King" ]; then
echo "$x is a King!"
else echo "$x is not a King!" fi
Queen is not a King!

'같지 않다'는 !=도 사용할 수 있습니다

Bash 스크립팅 입문

산술 IF 문 (옵션 1)

산술 IF 문은 이중 괄호를 사용할 수 있습니다:

x=10

if (($x > 5)); then echo "$x is more than 5!" fi
10 is more than 5!
Bash 스크립팅 입문

산술 IF 문 (옵션 2)

산술 IF 문은 또한 대괄호와 산술 플래그를 사용할 수 있습니다 (>, <, =, != 대신):

  • '같다'는 -eq
  • '같지 않다'는 -ne
  • '작다'는 -lt
  • '작거나 같다'는 -le
  • '크다'는 -gt
  • '크거나 같다'는 -ge
Bash 스크립팅 입문

산술 IF 문 예시

이전 예제를 대괄호 표기로 다시 만들면 다음과 같습니다:

x=10
if [ $x -gt 5 ]; then
    echo "$x is more than 5!"
fi
10 is more than 5!
Bash 스크립팅 입문

기타 Bash 조건 플래그

Bash에는 다음과 같은 파일 관련 플래그가 있습니다:

  • 파일이 있으면 -e
  • 파일이 있고 크기가 0보다 크면 -s
  • 파일이 있고 읽기 가능하면 -r
  • 파일이 있고 쓰기 가능하면 -w

그 외에도 다양합니다:

Bash 스크립팅 입문

Bash에서 AND와 OR 사용

 

조건을 결합(AND)하거나 OR을 사용하려면 다음 기호를 씁니다:

  • AND는 &&
  • OR은 ||
Bash 스크립팅 입문

여러 조건

Bash에서는 다음과 같이 조건을 체이닝할 수 있습니다:

x=10
if [ $x -gt 5 ] && [ $x -lt 11 ]; then
    echo "$x is more than 5 and less than 11!"
fi

또는 이중 대괄호 표기법을 사용할 수 있습니다:

x=10
if [[ $x -gt 5 && $x -lt 11 ]]; then
    echo "$x is more than 5 and less than 11!"
fi
Bash 스크립팅 입문

IF와 명령줄 프로그램

대괄호를 빼고 조건식에 명령줄 프로그램을 직접 사용할 수도 있습니다.

예를 들어, words.txt에 'Hello World!'가 있다면:

if grep -q Hello words.txt; then
    echo "Hello is inside!"
fi
Hello is inside!
Bash 스크립팅 입문

셸 중첩과 IF

조건식에서 셸 안의 셸을 호출할 수도 있습니다.

같은 결과가 나오는 이전 예시를 다시 써 보겠습니다.

if $(grep -q Hello words.txt); then
    echo "Hello is inside!"
fi
Hello is inside!
Bash 스크립팅 입문

연습해 봅시다!

Bash 스크립팅 입문

Preparing Video For Download...