간단한 Bash If 문

간단한 Bash If 문

디렉토리에 대한 간단한 테스트를 코딩하려고 하는데 해결할 수 없는 문제가 계속 발생합니다.

 prompt> if [ -d "./mydir" ] then echo "yes"; fi
 -bash: syntax error near unexpected token 'fi'

나는 다양한 따옴표, 세미콜론, 줄 바꿈 등을 시도했습니다.
그러나 항상 이 구문 오류가 발생합니다.

내가 여기서 뭘 잘못했는지 설명해 주실 수 있나요?

답변1

조건 명령과 then키워드를 구분하려면 세미콜론이 필요합니다.

if [ -d dir ]; then echo yes; else echo no; fi
# ...........^

물론 세미콜론 대신 개행 문자를 사용할 수도 있습니다.

또는 조건부 연산자를 사용하세요.

[ -d dir ] && echo yes

관련 정보