IaC (Infrastructure as Code)
- 인프라를 코드로서 관리
- 쉘 프로그래밍
- Ansible
Shell Programing
- 명령어의 집합
- 프로그래밍의 장점을 포함
쉘 프로그래밍의 필요성
- 서버 관리 환경 상 GUI 등 환경보다 텍스트 기반의 명령어 환경을 이용할 경우가 많음
- 명령어를 사용할 경우, 단순 명령어를 수동으로 입력하는 방식보다, 쉘 프로그래밍을 사용하여 작업을 단순화할 수 있음
쉘 프로그래밍 작성 시 주의사항
- 쉘 종류별로 다를 수 있음. Bourne Shell, Korn Shell, C Shell, Bash Shell, Z Shell
- 프로그래밍의 목적/콘셉트 등이 일반적인 프로그래밍과는 다름
- 컴파일되는 프로그램보다 실행 속도 등이 떨어짐
- 컴파일을 하지 않음
- 정밀 계산 등에는 적합하지 않음
- 텍스트 데이터를 다루는데 중점
- grep
- sed
- awk
쉘 프로그램 작성 요령
- 프로그램의 목적을 명확히 정의
- 목적을 달성하기 위하여 필요한 기능 선정 (명령어)
- 명령어의 배치
- 유연성 추가 (논리적 구조)
- 프로그램 작성
- 테스트 - 수정
쉘 프로그램의 기본 형식
- Shebang : 쉘 스크립트 가장 윗 줄에 ‘#!’ 기호로 표기
- 이 스크립트를 실행할 프로그램 지정
- #!/bin/python, #!/bin/perl, #!/bin/bash
- 특정 실행프로그램을 사용하여 실행할 경우는 무시됨
- Shebang이 없고, 특정 실행 프로그램을 지정하지 않을 경우, 현재 쉘을 사용하여 실행
- # : 주석. 해당 줄의 내용은 쉘 스크립트 실행 시 무시
- 중간 공백 줄 삽입이 자유로움
쉘 프로그램의 실행 방식
- 쉘 스크립트 프로그램 파일에 실행 권한 부여 후 파일명을 지정하여 실행
- 현재 디렉토리 내의 파일 :./파일명
- 다른 디렉터리의 파일명 : 경로/파일명
- 반드시 파일의 실행 권한 필요
- 실행 프로그램을 지정하여 실행하는 방식
- <실행할 해석기(쉘)> 스크립트 파일 이름
ex) /bin/bash hello.sh
- 이 경우, 실행 권한이 없는 스크립트로 실행 가능
- 디버그 옵션
- 실행 시 옵션 지정
- -x : 실행할 코드가 아닌 실행할 내용을 출력
- -v : 디버그 상태에서 스크립트 내 각 실행할 코드를 그대로 표시
- -f : 스크립트 내 메타 문자의 효력을 정지
- 스크립트 내 디버그 옵션
- set -[옵션] : 해당 디버그 옵션을 현재 위치부터 활성화
- set +[옵션] : 해당 디버그 옵션을 현재위치부터 비활성화
*이 포스팅은 엔코아 플레이 데이터 수업 내용을 참고로 합니다.
'IT > Linux' 카테고리의 다른 글
쉘 프로그래밍 시 사용되는 쉘 기능 (0) | 2021.04.16 |
---|---|
파일 기반 공유 스토리지 (0) | 2021.04.14 |
SSH (0) | 2021.04.13 |
소프트웨어 패키지 관리(rpm,yum) (0) | 2021.04.10 |
네트워크 관리(기초,NetworkManger,호스트이름) (0) | 2021.04.08 |
댓글