셸 스크립트는 흔한 함정이 많아 「정적 분석」이 매우 효과적.
ShellCheck가 거의 표준 도구입니다.
설치·사용.
apt install shellcheck 또는 brew install shellcheck.
shellcheck script.sh — 잠재적 문제 보고.
잡아내는 문제.
1) 인용 문제 — "$var" 빠진 곳.
2) 옛 패턴 — `cmd` 대신 $(cmd) 권장.
3) [ ] vs [[ ]] 차이.
4) 셸별 비호환 — sh로 선언했는데 bash 기능 사용 등.
5) 흔한 오타.
6) 미사용 변수.
코드 정정.
보고된 SC2086(인용) 같은 코드는 ShellCheck wiki에서 자세한 설명 + 수정 예시.
「왜 그게 문제인가」를 학습하는 효과도 큼.
에디터 통합.
VS Code의 ShellCheck 확장, vim의 ALE, JetBrains의 BashSupport — 저장 시 자동 분석 + 줄 옆에 경고 표시.
CI에서도 shellcheck 명령으로 검증 강제.
스크립트 품질을 한 단계 위로.
한 줄 요약
ShellCheck는 셸 스크립트 정적 분석 표준.
인용·옛 패턴·셸 비호환·오타 잡음.
보고 코드별 wiki 설명 풍부, 에디터 통합·CI에 통합.
셸 작성의 필수 도구.
더 알아볼 것
- ShellCheck wiki
- explainshell.com — 명령 해석
- shfmt — 셸 포매터