[Linux] 쉘 스크립트에 대한 이해

node·2023년 10월 16일
0

이해 시리즈

목록 보기
11/11

쉘 스크립트란?

쉘 스크립트는 명령어를 나열해 실행하는 실행문을 뜻하며 미리 작성해놓은 파일을 통해 여러 명령어를 차례로 실행시키는 용도로 사용된다.

  • 쉘 Shell : 키보드에서 명령을 가져와 운영체제로 보내 수행하는 프로그램.
  • 명령어 : 쉘에서 특정한 작업을 위해 사용하는 단어이며 환경변수 $PATH에 같은 이름의 파일이 등록되어 있어야 사용 가능하다.

기본 작성법

  • 쉘 스크립트 파일은 기본적으로 .sh 확장자로 작성한다.
    ex) script.sh

  • 파일의 맨 첫 줄에는 사용할 명령 인터프리터를 지정해준다.
    ex) #!/bin/bash

  • #문자 입력시 코멘트 처리할 수 있다.


입/출력

  • read [사용할 변수명]
    : 사용자로부터 데이터를 입력받아 스크립트 내의 변수로 사용할 수 있다.

  • echo [출력할 내용]
    : 사용자의 커맨드 창에 출력할 내용을 출력한다.

  • [명령어] > [파일]
    : 명령어의 결과를 파일에 출력한다.(덮어쓰기)

  • [명령어] >> [파일]
    : 명령어의 결과를 파일에 마지막 줄에 추가한다.(삽입)

  • [명령어] < [파일]
    : 파일의 값을 명령어에 전달한다.


변수

  • 스크립트 내에 변수는 다음과 같이 선언한다.
    var = "123"

  • 변수의 이름으로는 영문자, 숫자 그리고 언더바만 사용할 수 있다.

  • 변수를 사용 할때는 $표시를 앞에 붙이고 {}로 감싸 사용한다.
    echo ${var} >>> 123

  • 명령어의 결과값을 변수로 이용할 때에는 $()를 이용한다.
    var = $(hostname -s)

  • 변수의 값이 변경되는 것을 방지하기 위해 readonly를 사용할 수 있다.
    readonly var


종료코드

스크립트가 실행되어 종료된 후에 출력되는 코드를 뜻하며 정상적으로 종료되었을 경우에는 0, 이외에는 전부 비정상 종료를 뜻한다.
따라서 이후 스크립트 정상 작동 여부를 확인하기 위해 사용하며 exit [종료코드] 를 사용해 직접 설정할수도 있다.

  • 아래 변수를 출력하여 가장 최근에 실행된 스크립트의 종료코드를 조회할 수 있다.
    echo $?

반복문

스크립트 내에서 반복되는 내용을 처리할때 사용하며 사용방법은 아래와 같다.

for VAR in LIST; do
COMMAND VARIABLE
done

LIST에 들어있는 값의 수 만큼 반복하여 각각의 값을 VAR라는 변수로 사용한다.

ex) for HOST in host{1..3}; do echo $HOST; done


조건문

스크립트 내에서 조건에 따라 분기 처리할때 사용하며 사용방법은 아래와 같다.

  • 조건식
    : 조건문에서 논리 테스트하거나 값을 비교할때 사용하며 [[ ]]로 감싸 사용한다.
    gt(>), ge(≥), eq(=), le(≤), lt(<)
    ex) [[ 1 -eq 1 ]]; echo $
    ex2) [[ 1 != 1 ]]; echo $?

  • if/then 구문

if <CONDITION>; then
 <STATEMENT>
 ...
 <STATEMENT>
fi
  • if/else 구문
if <CONDITION>; then
 <STATEMENT>
 ...
 <STATEMENT>
else
 <STATEMENT>
 ...
 <STATEMENT>
fi
  • if/elif/else 구문
if <CONDITION>; then
 <STATEMENT>
 ...
 <STATEMENT>
elif <CONDITION>; then
 <STATEMENT>
 ...
 <STATEMENT>
else
 <STATEMENT>
 ...
 <STATEMENT>
fi

profile
NOvice + DEveloper

0개의 댓글