190510 셸 스크립트 기초
2019-05-10
셸 스크립트
셸 스크립트란?
-
특정 셸(tcsh,zsh,bash 등)이 일련의 명령을 스크립트에 적힌 순서대로 실행하도록 하는 텍스트 파일
- 셸(shell): 운영체제가 제공하는 명령들을 사용할 수 있도록 해주는 커맨드 라인 인터페이스
- 다양한 작업을 자동화하기 위해 셸 환경이 제공하는 명령들로 작성한 작은 프로그램.
- 웹 스크랩
- 디스크 사용량 추적
- 날씨 데이터 다운로드
- 파일 이름 변경
등등… 셸 스크립트를 이용해 다양한 기능을 구현할 수 있다.
- 대부분의 운영체제(특히 유닉스 환경)에서는 bash 셸이 주류이다
- 맥OS: 터미널 앱이 bash 셸을 이용해 창을 연다.
- 리눅스: 다양한 커맨드 셸 프로그램 보유
- GNOME: gnome-terminal
- KDE: konsole
- 이들 어플리케이션은 여러 가지 종류의 커맨드 라인 셸을 사용하도록 설정을 바꿀 수 있지만, 기본 설정으로는 bash를 이용한다.
윈도우 10에서 bash 설치하기
- 설정-개발자용-개발자 기능 사용- 개발자 모드 켜기
- 제어판-프로그램-프로그램 및 기능-Windows 기능 켜기/끄기
- Linux용 Windows 하위 시스템 선택
- 재부팅
- https://aka.ms/wslstore 에서 윈도우용 리눅스 배포판 설치
- 명령 프롬프트 창 켜고
bash
입력해서 사용
간단한 명령 실행해보기
$ echo "Hello World"
echo
명령은 텍스트를 화면에 출력한다.
bash가 이러한 표준 명령을 찾는 디렉터리는 PATH라는 환경 변수에 저장되어 있다.
bash는 프로그램이나 명령을 실행할 때, PATH에 적힌 순서대로 디렉터리를 찾아보는데,
해당 명령이 디렉터리에 없다면 실행할 수 없다.
$ echo $PATH
위의 명령은 현재 PATH 환경 변수의 내용(디렉터리들)을 출력한다.
$ which echo
which
명령을 이용하면 셸의 PATH중 어느 디렉터리에 해당 명령이 있는지 확인할 수 있다.
오류가 생긴 PATH를 디버그할 때 유용하다.
$ cat $(which neqn)
cat
명령은 파일 이름을 인자로 받아 그 내용을 터미널 화면에 출력한다.
$ sh filename
sh
명령은 인자로 받은 스크립트를 실행한다.
셸 스크립트의 장점
- 이식성이 좋다
- 간결하고 유지보수, 시스템 작업이 쉽다
출처
한눈에 빠져드는 셸 스크립트(2판) - 에이콘출판사