1. 쉘 스크립트 (Shell Script)
ㅇ 셸 명령어들을 연속 실행(일괄 처리)하기 위한 스크립트 파일(배치 파일, batch file)
- 일련의 쉘 명령어,기능 등을 이용하여,
- 조건,반복 등 제어구조에 의한 프로그래밍이 가능하고,
- 텍스트 파일 형태로 저장 가능한,
- 일괄처리용 스크립트 언어
ㅇ 용도
- 자주 반복되는 일련의 복잡한 명령어들을, 스크립트 파일을 통해 자동화 가능
2. 기초
ㅇ 주석 : `#`으로 시작
ㅇ 파일 확장자명 : [명칭].sh를 붙임
ㅇ 쉘 스크립트의 첫 문장 : 해당 파일이 쉘 스크립트라는 것을 알려줌
- 샤방,쉐방,샤뱅 (shebang)
. 쉘 스크립트 파일의 첫 줄에 위치한 특별한 문자열(주석문 형태)
. 스크립트를 실행할 때 사용할 인터프리터를 지정
. `#!` 문자로 시작하며, 그 뒤에 `#!/bin/sh` 처럼 쉘 인터프리터의 경로를 명시
3. 변수
ㅇ 변수 선언
- 특별한 타입의 지정 불필요
- 숫자 또는 문자열 가능
ㅇ 위치 매개변수 : 수행시 넘어오는 파라미터
- $0 : 실행 스크립트 이름
- $1 ,$2, $3, ... : 순서 번호
- $* : 전체 인자 값
- $# : 매개변수의 총 개수
ㅇ 쉘 변수, 환경 변수
- 쉘 변수 : 현재 쉘에 만 사용 가능, 서브 쉘로는 전달되지 않음
- 환경 변수 : 현재 쉘 뿐 만 아니라 서브 쉘로도 전달 가능 ☞ 쉘 환경변수 참조
. 시스템을 위해 미리 할당된 변수
. 주요 종류 : HISTSIZE, HOME, LANG, LONGNAME, PATH, PWD, SHELL 등
* 변수 출력 명령어
. set : 쉘 변수, 환경 변수 모두 출력
. env : 환경 변수 만 출력
ㅇ 전역 변수, 지역 변수
- 전역 변수 : 스크립트 전체 범위에서 유효
- 지역 변수 : 함수 내에서만 유효
. 함수 내 local로 시작하여 선언된 변수
4. 함수
ㅇ function 으로 시작
5. 쉘 스크립트의 실행
ㅇ 쉘 스크립트에 실행 권한을 주고, => chmod +x [해당 쉘 스크립트 파일명]
- `sh` 또는 `.` 라는 쉘 명령어를 이용하여 실행
. `sh [쉘 스크립트 명].sh` : 새로운 하위 쉘을 생성하여 실행
. `./[쉘 스크립트 명].sh` : 현재 쉘에서 실행
ㅇ 문법 오류 확인 : `sh -n [script.sh]`
ㅇ 자동 실행 : cron 기능 활용
6. [참고사항]
ㅇ 사용자 입력 읽기 : read
- 例) read var : 표준 입력으로부터 텍스트 읽고 이를 변수 $var에 저장