「자동화」가 떠오르면 셸과 파이썬 둘 다 후보.
어느 쪽이 좋은지는 상황에 따라 다릅니다.
셸이 좋을 때.
1) 「OS 명령들의 조합」이 본질 — find·grep·sed·tar 등을 파이프로 잇기.
2) 짧고 단순 — 한 화면 내.
3) 빠른 시작 시간 중요 — 인터프리터 로드 안 함.
4) 거의 모든 리눅스에 있음 — 의존성 0.
파이썬이 좋을 때.
1) 복잡한 로직·자료구조.
2) 100줄 이상.
3) 단위 테스트 필요.
4) 한 줄 텍스트가 아닌 JSON·XML·DB 다루기.
5) 풍부한 라이브러리 사용(requests·pandas 등).
6) 여러 사람이 유지보수.
분기점 — 「100줄」.
경험 법칙: 셸 스크립트가 100줄 넘으면 파이썬 검토.
함수·자료구조·예외 처리가 필요해지면 파이썬이 훨씬 가독성 좋음.
「짧고 단순한 자동화는 셸, 복잡해지면 파이썬으로 이주」가 흔한 패턴.
혼합 사용도 흔함.
메인 스크립트는 파이썬, OS 명령 호출은 subprocess.
셸 스크립트가 파이썬을 호출.
도구는 도구일 뿐 — 본질에 맞는 걸 고르고, 필요하면 자유롭게 섞어 쓰기.
한 줄 요약
셸은 OS 명령 조합·짧고 단순한 자동화·의존성 0에 강함.
파이썬은 복잡 로직·자료구조·테스트·풍부한 라이브러리에 강함.
100줄 넘어가면 파이썬 검토.
더 알아볼 것
- subprocess로 셸 호출
- sh·plumbum — 파이썬에서 셸스럽게
- Bash vs Python 성능 비교