Shell 프로그래밍의 기본

Katja and Guido Socher

katja (at) linuxfocus.org

윤상배

yundream (at) coconut.co.kr


차례
1. 들어가기전에
1.1. 필요한 것들
1.2. 쉘이란 무엇인가
2. 스크립트를 만들자
3. 주석
4. 변수
5. 대화모드
6. 쉘명령과 제어구조
6.1. 유닉스 명령어들
6.2. pipes(파이프), redirection(재지향)
6.3. 제어구조
6.4. 간단하게 표현하기
6.5. Quoting
6.6. 함수
6.7. 명령행 인자(argument)
7. 예제
7.1. 일반적인 쉘프로그램의 구조
7.2. 바이너리를 10진수로 바꿔주는
7.3. 디버깅
8. 효율적인 작업을 위해서
8.1. 환경변수
8.2. history
8.3. 최근명령어 치환
8.4. Prompt
8.5. Prompt 전에 명령 실행시키기
8.6. PROMPT_COMMAND 를 이용한 사용자 명령어 추적

이 문서는 Linux focus 의 2001 년 9 ~ 10 월 기사의 "point Shell Programming" 을 번역한것이다. 오타 및 탈자 용어의 사용에 있어서 그리 주의를 기울이지 않은 관계로 문서가 매끄럽지 않게 진행될수 있음을 미리 밝히며, 이러한 버그는 차후 업그레이드? 버젼에서 수정할것임을 약속? 한다. 그리고 원본에 포함되어 있지 않는 내용들도 상당수 들어가 있다.

리눅스를 위한 다양한 그래픽인터페이스를 지원하는 프로그램들이 있음에도 불구하고 쉘스크립트는 여전히 많은 사랑?을 받으며 다양한 부분에서 필수적인 도구로 사용되고 있다. 언뜻 보기에 그래픽인터페이스의 다른 도구들에 비해서 사용하기 어려워 보이고 다분히 원시적으로 보이지만, 쉘 프로그래밍을 통하여, 많은 노동이 필요한 작업들을 단순화 시킬수 있으며, 훌륭한 시스템 관리 도구로 사용할수 있기 때문이다. 또한 대규모프로젝트를 시작하기 전에 간단한 프로토타입을 만들수 있도록 해주며, 전체적으로 어떤 일을 수행하는데 있어서 시간과 노력을 절약하도록 도와준다. 이렇게 절약된 시간을 좀더 생산적인일(디아블로를 하거나, 커피를 마시는) 에투자할수 있도록 도와준다. 이 문서를 통해서 우리는 이러한 쉘 스크립트의 사용법에 대해서 배우게 될것이다. 문서의 설명은 글을읽는 여러분이 아주 기본적인 프로그래밍을 해본적이 있고 Unix/Linux 환경을 한번이라도 접해봤을 거라는 가정하에 이루어질 것이다.

이 문서는 GNU Free Documentation License 를 가집니다.