[bash: if] if 조건문에서 띄어쓰기에 유의 리눅스 bash script

별 것 아닌 기본적인 내용이긴 한데, 스크립트를 만들다가 의외로 실수하는 경우가 종종 있어서 잊지 말자는 의미에서 적어 두기로.

if 조건문에서 비교 조건을 지정하기 위해 대괄호([])를 사용하게 되는데, 대괄호와 비교조건 사이에는 반드시 공백이 있어야 한다. 아래의 예시를 보자.

str="abc"

# 오류 발생! (띄어쓰기 오류)
if [[$str="abc"]]
  then echo "ABC"
fi

[[abc=abc]]: command not found

대괄호와 조건이 붙을 경우 bash에서 대괄호와 조건이 붙은 전체 문구를 하나의 명령어로 해석하여 처리하려 하므로 오류가 발생하게 된다. 띄어쓰기를 제대로 해 주면 정상 동작한다.

# 정상 동작
if [[ $str="abc" ]]
  then echo "ABC"
fi


if 조건문에 대한 다른 게시물들은 여기로



덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

1441045
3392
1828172

ad_widget_2