Logo
내 게시판 만들기
리눅스

셸 스크립트 모범 사례

햇살이 | 2026.04.27 13:42:17
조회 24 | 추천 0

오래 살아남고 안전한 셸 스크립트의 일반 원칙.

작은 스크립트라도 이 패턴들을 따라 두면 사고 예방.



Prelude.

#!/bin/bash + set -euo pipefail로 시작.

「실패 즉시 종료, 미정의 변수 에러, 파이프 중간 실패도 잡기」.

거의 모든 모던 스크립트의 첫 두 줄.



변수 인용.

"$var" 거의 항상 따옴표.

공백·특수 문자가 있어도 안전.

빠뜨리면 단어 분리·글로빙으로 사고.

예외는 「의도적인 단어 분리」가 필요할 때만.



임시 파일.

mktemp으로 충돌 없는 임시 파일.

trap으로 EXIT 시 자동 정리.

/tmp/myfile 같은 고정 이름은 충돌·심링크 공격 위험.



검증·헬퍼 함수.

1) 인자 개수 검증 — if [ $# -lt 2 ]; then echo "usage: ..." >&2; exit 1; fi.

2) 필수 명령 확인 — command -v jq >/dev/null || { echo "jq required" >&2; exit 1; }.

3) 사용법 함수 — usage() { ...

} + 잘못된 인자 시 호출.

작은 노력이 사고 방지에 큰 도움.




한 줄 요약


#!/bin/bash + set -euo pipefail prelude, "$var" 인용, mktemp + trap으로 임시 파일, 인자·명령 검증.

작은 노력이 큰 사고 방지.

ShellCheck로 정적 분석 추천.




더 알아볼 것


- ShellCheck — 셸 스크립트 린터

- Google Shell Style Guide

- Strict mode 변형들

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
102 구름이 26/04/27 24 0
101 곰돌이 26/04/27 22 0
100 멍뭉이 26/04/27 27 0
99 구름이 26/04/27 22 0
98 곰돌이 26/04/27 23 0
97 햇살이 26/04/27 24 0
96 별님이 26/04/27 51 0
95 부엉이 26/04/27 23 0
94 햇살이 26/04/27 23 0
93 구름이 26/04/27 21 0
92 토순이 26/04/27 22 0
91 너구리 26/04/27 33 0
90 곰돌이 26/04/27 23 0
89 야옹이 26/04/27 22 0
88 구름이 26/04/27 24 0
87 별님이 26/04/27 22 0
86 별님이 26/04/27 21 0
85 멍뭉이 26/04/27 30 0
84 부엉이 26/04/27 24 0
83 야옹이 26/04/27 27 0
82 야옹이 26/04/27 26 0
81 너구리 26/04/27 24 0
80 야옹이 26/04/27 23 0
79 토순이 26/04/27 24 0
78 구름이 26/04/27 25 0
77 다람쥐 26/04/27 29 0
76 구름이 26/04/27 22 0
75 별님이 26/04/27 26 0
74 토순이 26/04/27 26 0
73 구름이 26/04/27 23 0
신고하기

신고 사유를 선택해 주세요.