홈 › 리눅스 운영 › 08 / 13

셸 스크립트 (운영 자동화)

섹션 7진행 0 / 13

셸 스크립트 — 운영 명령을 재사용 가능한 스크립트로 묶는 문법과 안전장치

지금까지 쓴 명령을 파일 하나에 넣어 누가 실행해도 같은 결과가 나오게 만듭니다. 인자 처리, 함수, 조건·반복, 변수 확장, 종료 코드, trap, 잠금 파일까지 운영 스크립트에 필요한 문법만 골라 배웁니다.

1. 왜 배우는가

04 의 app.sh, 05 의 tomcat_deploy.sh 는 모두 같은 뼈대입니다. 인자를 받고, 변수에 기본값을 주고, 함수로 나누고, 실패하면 멈추고, 끝나면 정리합니다. 이 뼈대를 알면 새 스크립트를 20분에 씁니다.

셸 스크립트는 자바와 다르게 실패해도 계속 진행하는 것이 기본입니다. cd 가 실패했는데 다음 줄 rm -rf * 이 실행되는 사고가 그래서 납니다. set -euo pipefail 세 글자와 따옴표 습관이 그 사고의 대부분을 막습니다.

cron 과 systemd 는 사람이 아니라 스크립트를 실행합니다. 대화형 입력 없이, 짧은 PATH 에서, 실패를 종료 코드로 알리는 스크립트가 운영 스크립트입니다. 이 레슨의 예제는 Git Bash 에서 실행 검증했습니다.