본문 바로가기
리눅스/Part3. Ch08. 스크립트 및 쉘프로그래밍

01. 스크립트 작성 기준

by Engineer-Lee 2022. 12. 17.
반응형

스크립트 언제 작성해야 할까요?

다수의 컴퓨터를 관리하는데 필요한 재현과 반복이 필요한 작업

 

- 스크립트 vs. 설정 관리 시스템 (Ansible, Salt, Chef, Puppet)

  . 스크립트는 자유성과 유연성
  . 설정 관리 스크립트는 탄력적으로 확장되는 체계적 시스템 관리 -> 실무에서는 두 방식을 같이 사용
     예, 커스텀한 작업은 스크립트, 정형화된 작업은 설정관리 시스템

 

- 일반적인 사용

  . 개인적으로 사용하는 짧고 간편한 스크립트를 ~/bin 디렉토리에 모아 보관 (별도 문서X)
  . 극히 짧은 버전의 스크립트는 ~/.bashrc에 alias로 정의하기도 함
     alias l = ‘ls -alh’
     alias reload = ‘source ~/.bashrc’
     alias editbash = ‘vi ~/.bashrc’

 

 

올바른 스크립트 언어 선택

- 스크립트 언어 선택지가 늘어 남
(이전) 시스템 관리용 스크립트 언어 == 셸 스크립트
(최근) 순차적인 명령을 자동화, 데이터를 처리하고자 여러 필터를 조합 등에 셸 스크립트 사용 -> 가벼운 작업에 사용


셸 스크립트
. (+) 이동성 좋음 (호출하는 명령 외에는 의존성이 적음)
. (+) 대부분의 환경에서 기본으로 동작
. ( -) 프로그래밍 언어로서는 매력적이지 못함
        -> 구문이 특이, 고급 텍스트 처리 기능이 빠져 있음

 

파이썬, 루비
. 시스템 관리 업무에 적합한 현대적인 범용 프로그래밍 언어
. 외부 제약점이 적은 파이썬이 가장 유용한 시스템 관리자용 스크립트 언어
(+) 방대한 외부 패키지 <- 단, 운영에 사용하기 전에는 검토가 필요함


스크립트 작성 관련한 기본 가이드
. 부적절한 인수를 써서 실행했을 때는 사용법 메시지 출력
입력 데이터의 유효성을 검증하고 도출된 값들이 정상인지 확인 (예, rm -rf)
의미 있는 종료 코드 사용
   -> 성공 시 0, 실패시에는 0이 아닌 값
. 변수, 스크립트, 루틴에 적합한 네이밍 규칙 사용
스타일 가이드 사용
   -> 예) 파이썬 PEP8
주석 사용
   -> 예) 스크립트가 무슨 일을 수행하는지, 어떤 매개 변수를 사용하는지에 대한 정보 포함
             선택한 알고리즘, 참조한 웹사이트, 구현 이유 등도 유용
             단, 과도한 주석은 가독성을 해칠 수 있음
. 기존 코드 재활용은 좋지만, 이해하지 못한 코드를 복사&붙여넣기는 지양

반응형