본문 바로가기
IT/Linux

쉘 프로그래밍의 이해

by 혁클 2021. 4. 15.

IaC (Infrastructure as Code)

  • 인프라를 코드로서 관리
  • 쉘 프로그래밍
  • Ansible

 

Shell Programing

  • 명령어의 집합
  • 프로그래밍의 장점을 포함

 

쉘 프로그래밍의 필요성

  • 서버 관리 환경 상 GUI 등 환경보다 텍스트 기반의 명령어 환경을 이용할 경우가 많음
  • 명령어를 사용할 경우, 단순 명령어를 수동으로 입력하는 방식보다, 쉘 프로그래밍을 사용하여 작업을 단순화할 수 있음

 

쉘 프로그래밍 작성 시 주의사항

  • 쉘 종류별로 다를 수 있음. Bourne Shell, Korn Shell, C Shell, Bash Shell, Z Shell
  • 프로그래밍의 목적/콘셉트 등이 일반적인 프로그래밍과는 다름
    • 컴파일되는 프로그램보다 실행 속도 등이 떨어짐
    • 컴파일을 하지 않음
    • 정밀 계산 등에는 적합하지 않음
    • 텍스트 데이터를 다루는데 중점
      • grep
      • sed
      • awk

 

쉘 프로그램 작성 요령

  1. 프로그램의 목적을 명확히 정의
  2. 목적을 달성하기 위하여 필요한 기능 선정 (명령어)
  3. 명령어의 배치
  4. 유연성 추가 (논리적 구조)
  5. 프로그램 작성
  6. 테스트 - 수정

 

쉘 프로그램의 기본 형식

  • 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

댓글