반달가면 이글루에서 백업 - http://bahndal.egloos.com/602154
별 것 아닌 기본적인 내용이긴 한데, 스크립트를 만들다가 의외로 실수하는 경우가 종종 있어서 잊지 말자는 의미에서 적어 두기로.
if 조건문에서 비교 조건을 지정하기 위해 대괄호([])를 사용하게 되는데, 대괄호와 비교조건 사이에는 반드시 공백이 있어야 한다. 아래의 예시를 보자.
str="abc"
# 오류 발생! (띄어쓰기 오류)
if [[$str="abc"]]
then echo "ABC"
fi
[[abc=abc]]: command not found
대괄호와 조건이 붙을 경우 bash에서 대괄호와 조건이 붙은 전체 문구를 하나의 명령어로 해석하여 처리하려 하므로 오류가 발생하게 된다. 띄어쓰기를 제대로 해 주면 정상 동작한다.
# 정상 동작
if [[ $str="abc" ]]
then echo "ABC"
fi
728x90
'bash script' 카테고리의 다른 글
[bash: wc] 파일 내용이 몇개의 행으로 이루어졌는지 확인하기 (0) | 2023.08.22 |
---|---|
[bash: iconv] iconv를 이용한 텍스트 인코딩 확인 (0) | 2023.08.22 |
[bash: xargs] 공백이 포함된 출력 결과를 다음 명령어의 인자로 사용 (0) | 2023.08.10 |
[bash: sed] 리눅스에서 윈도우 텍스트 파일의 CR(캐리지 리턴) 제거 (0) | 2023.08.10 |
[bash: awk] 2개의 파일에 있는 자료 종합하기 (0) | 2023.08.08 |