본문 바로가기
IT 이야기

[Linux] bash shell if,

by Dblog 2021. 10. 16.
728x90

리눅스에서 bash shell을 쓰다 보면 생각보다 if문 조건이 까다롭습니다..

 

#!/bin/bash

md=3

if [ ${md} -eq 1 ] || [ ${md} -eq 3 ]; then
    echo "1 or 2 mode"
elif [ ${md} -eq 3 ]; then
    echo "3 mode"    
else
    echo "other mode"
fi

이 코드를 보면 굉장히 간단하게 보이지만

  1. python과 같이 indent가 없으면 문법 에러가 납니다 특정 환경에서는 space bar입력은 인식하지 않고 tab입력만 인식할 때도 있습니다.
  2. [${md} -eq 1] 처럼 앞뒤 간격이 없게 작성하면 에러가 발생합니다. 이건 왜 발생하는지 솔직히 모르겠습니다.
  3. 마지막에 fi 안붙이면 에러 납니다. 이것 또한 까먹기 쉬운 것 같습니다.

 

728x90

댓글