Linux/리눅스 실무의 이해

02-04-02 셸 프로그래밍

easyfly 2022. 1. 20. 08:00
반응형

셸 프로그래밍

셸 프로그래밍의 개요

셸 프로그래밍의 개념

  • 특정 목적을 달성하기 위한 셸 스크립트를 작성하는 활동을 셀 스크립팅이라 한다.
  • 셸 스크립트: 셸에서 제공하는 여러 명령어를 나열한 일종의 파일
  • 주기적인 백업, 시스템 모니터링 등 반복 작업을 자동화
  • 문법이 간단하여 쉽게 작성

셸 스크립트의 형식

  • 첫 번째 줄에는 해당 스크립트가 사용할 셸을 '#!'를 통해 명시
  • 두 번째 줄부터는 일련의 명령어 기술

셸 스크립트 실행

  • 별도 프로세스로 실행하는 방법과 현재 셸에서 바로 실행하는 방법이 있다.
  • 별도의 프로세스로 실행하기 위해서는 스크립트 파일의 퍼미션에 실행 권한을 주고 실행한다.
  • 실행할 때 셸의 인자로 스크립트 파일 경로를 넘겨서 직접 실행할 수도 있다.
  • 현재의 셸에서 바로 실행하기 위해서는 source 명령어나 dot(.) 명령어를 이용하여 실행한다.

셸 스크립트의 기본 문법

주석

  • 주석은 프로그램의 이해를 돕기 위한 설명이다.
  • 주석을 통해 사용하고 있는 변수, 인자 등을 설명한다.

변수

  • 변수는 스크립트의 동작을 위해 필요한 데이터를 저장하거나 읽어온다.
  • 사용하는 형식은 VAR=value
  • 공백은 허용하지 않는다.
  • 변수 형식은 스트링만 제공한다.
  • 변수에 값을 할당할 때 다양한 방법이 있다.
  • 현재 셸의 모든 변수와 환경변수를 확인하고자 할 때는 set 명령어를 사용한다.
  • export된 변수만을 출력하고자 할 때는 env 명령어를 사용한다.

위치매개변수

  • 명령줄에 지정된 인자의 위치를 나타내는 특별한 변수이다.
  • 그 외에 안자의 개수를 갖고 있는 $#과 셸 스크립트이 PID를 담고 있는 $$와 스크립트 실행 결과값을 가지고 있는 $?와 셸의 옵션 플래그를 갖고 있는 $-가 있다.

echo 문

  • echo 명령은 스트링을 화면에 출력한다.
  • echo 명령에 -e 옵션을 사용하면 '\n'과 같은 특수문자를 사용할 수 있다.
  • echo 명령에 사용할 수 있는 특수문자는 다음과 같다.
    • \p: 백스페이스를 입력한다.
    • \f: 폼피드(formfeed)를 입력한다.
    • \n: 새로운 줄을 입력한다.
    • \r: 캐리지리턴을 입력한다.
    • \t: 탭(tab)을 입력한다.
    • \\: 백슬래시를 입력한다.

다양한 조건식

  • 두 개의 숫자를 비교하여 더 큰지, 같은지, 작은지 등을 비교한다.
  • 두 문자열을 비교하여 같은지 다른지 또는 어느쪽이 큰지, 길이를 비교할 수 있다.
  • 파일이 블록 디바이스인지 문자 디바이스인지 디렉터리인지 파일인지 등을 비교할 수 있다.

반응형

'Linux > 리눅스 실무의 이해' 카테고리의 다른 글

03-01-01 네트워크의 기초  (1) 2022.01.22
02-04-03 셸 스크립트의 조건문  (0) 2022.01.21
02-04-01 셸(Shell)  (0) 2022.01.17
02-03 X 윈도우  (0) 2022.01.15
02-02-03 파일 시스템의 이해  (0) 2022.01.14