CS/시스템 프로그래밍

쉘 스크립트

:_: 2022. 3. 3. 13:48

 

쉘 스크립트

1. 쉘을 사용해서 프로그래밍을 할 수 있음

2. 서버 작업 자동화 및 운영(DevOps)을 위해 기본적으로는 익혀둘 필요가 있음 

3. 쉘 명령어를 기본으로 하되, 몇가지 문법이 추가된 형태

4. 시스템 프로그래밍에서 꼭 익히는 내용 중 하나

 

쉘 스크립트의 예

문제점

서버가 어느날 다운되었다. 확인해보니 서버 저장공간이 하나도 남지 않음.

로그파일 업데이트가 안되어 관련 프로그램 비정상 종료

이유는 로그파일이 많이 쌓여있음.

어떻게 하면 자동으로 오래된 로그파일을 삭제할까?

 

해결

간단한 쉘 스크립트 생성 및 주기적 실행(crontab)

 

기본 문법

1. 쉘 스크립트는 파일로 작성 후, 파일을 실행

2. 파일의 가장 위의 첫 라인은 "#!/bin/bash"로 시작

3. 쉘 스크립트 파일은 실행 권한을 가지고 있어야 함

4. 일반적으로 '파일이름.sh'와 같은 형태로 파일 이름을 작성함

 

변수

 

1. 선언

   - 변수명=데이터

   - 변수명=데이터 사이에 띄어쓰기는 허용되지 않음

2. 사용 

   - $변수명 으로 사용됨

실습

- 아이디 관련 정보 변수 만들기

1. 실제 이름

2. 나이

3. 직업

 

리스트 변수(배열)

 

1. 선언

   - 변수명 = (데이터1데이터2데이터3...)

2. 사용

   - ${변수명[인덱스번호]}

 

사전에 정의된 지역 변수

 

연산자

 

expr : 숫자계산

expr을 사용하는 경우, 역작은 따옴표(')를 사용해야함(작은 따옴표가 아님)

연산자 *과 괄호()앞에서는 역슬래시()와 같이 사용

연산자와 숫자, 변수, 기호 사이에는 space를 넣어야 함

 

조건문 문법1

 

기본 if 구문 : 명령문을 꼭 탭으로 씌워야 하는것은 아님.(then과 fi안에만 들어가 있으면 됨)

조건

1. 조건 작성이 다른 프로그래밍 언어와 달리 가독성이 현저히 떨어짐, 필요할 때마다 참조하면 됨

2. 문자 비교

3. 수치비교(<,>는 if 조건시 [[]]를 넣는 경우 정상 작동하기도 하지만, 기본적으로 다음 문법을 사용하는 것을 권장)

 

파일 검사

 

조건문 문법2

 

기본 if/else 구문

 

반복문 문법

 

1. 기본 for 구문

2. 기본 while 구문

 

 

 

 

 

제로베이스 컴퓨터 공학 전공자 따라잡기 강의 정리한 내용입니다.

 

728x90