프로그래밍의 기본 분기.
셸의 if는 「명령의 종료 코드」(0=성공, 그 외=실패)를 보고 분기합니다.
다른 언어와 약간 다른 발상.
기본 형식.
if 명령; then ...; elif 명령; then ...; else ...; fi.
if [ -f file ]; then echo "exists"; fi 식.
마지막 fi(if 거꾸로)로 닫음.
test와 [ ].
[ ...
]는 test 명령의 별칭.
[ -f file ]은 파일 존재.
-d 디렉토리, -e 존재(파일·디렉토리), -r 읽기 가능, -w 쓰기, -x 실행.
양옆 공백 필수 — [ -f file ]이지 [-f file] 아님.
[[ ]] — 모던 bash.
[[ "$a" == "$b" ]] — 문자열 비교.
[[ $n -lt 10 ]] — 숫자(less than).
[[ "$str" =~ pattern ]] — 정규식.
더 안전(공백·인용 처리), 더 강력.
bash 스크립트에서는 [[ ]] 권장.
&&와 ||.
명령1 && 명령2 — 명령1 성공 시에만 명령2.
명령1 || 명령2 — 실패 시.
[ -f file ] && echo "exists".
짧은 조건은 if보다 간결.
한 줄 요약
if 명령; then ...; fi 형식.
[ ]는 test 별칭(공백 필수), [[ ]]가 더 안전·강력(bash 전용).
&& / ||로 짧은 조건.
종료 코드 0=참, 그 외=거짓의 발상.
더 알아볼 것
- test 옵션 정리
- [[ ]] vs [ ] 차이
- case가 더 적합한 경우