2011년 3월 21일 월요일

쉘 스크립트

- SHELL??
   : 명령어 해석기 또는 유틸리티와 커널 사이에 위치해서 상호 작용을 담당한다.
   : 사용자를 리눅스(유닉스) 시스템과 이어주는 인터페이스이다.
     (쉘에 명령어를 입력하면, 쉘이 해당 명령을 운영체제가 실행할 수 있도록 전달함)
   : 크게 두 가지 기능을 제공한다.
     1. 명령어 해석
     2. 쉘 스크립트를 위한 프로그래밍 언어 제공

- SHELL 종류
   1. Bourne shell(sh)
       : 최초의 쉘, Bell 연구소에서 개발
   2. C shell(csh)
       : C 언어와 유사한 점이 많음
   3. Korn shell(ksh)
       : Bourne shell 기능 확장 + C shell 기능도 제공
   4. Bourne Agine shell(bash)
       : Bourne shell 기능 발전 + C shell, Korn shell의 기능도 어느 정도 포함하고 있는 쉘
   5. TC shell(tcsh)
       : C shell 확장

   * 내가 사용하고 있는 쉘을 확인하고 싶다면?
      : echo $SHELL
        (SHELL은 반드시 대문자로!)


- SHELL programming?
   : 빠르고 간편하게 작성할 수 있는 인터프리터 언어
   : 한 줄씩 실행시킬 수 있는 장점이 있지만, 정밀한 처리나 빠른 처리 요구에는 부적합
   : 프로그래밍 방법은 두 가지
     1. 실행할 명령을 순서대로 입력하여 대화식으로 실행
     2. 실행할 명령을 파일로 저장 후, 해당 파일을 실행


- SHELL Script??
   : 인터프리터로 쉘을 사용하는 스크립트
     (어떠한 쉘을 사용하는 가에 따라, 본 쉘 스크립트, C 쉘 스크립트, 콘 쉘 스크립트, TC 쉘 스크립트 등으로 나뉜다.)

   : 쉘 문법을 이용하여 프로그램을 작성하는 것
   : 쉘에서 사용할 수 있는 명령어들의 조합을 모아서 반든 배치(batch) 파일!
 
   : 쉘 자체는 다른 명령을 받아들이고 해당 명령을 수행하는 것이 주업무이나,
     제어문(if), 반복문(for, while)과 같은 문법을 제공한다.
   : 위 문법을 이용하여 프로그램을 작성하는 것을 쉘 스크립트 작성이라고 한다.

   : 리눅스에서는, 여러 명령어들을 파이프(pide), 리다이렉션(redirection), 필터(filter) 등으로 연결하여 원하는 결과를 얻어낼 수 있는데, 이런 방식으로 묶여진 명령어 조합이 반복적으로 사용된다면 이를 쉘 스크립트로, 즉 단일 명령으로 만들어 쉽게 사용할 수 있다.

   : unix/linux의 부팅 과정 중에 사용하는 대부분의 프로그램들이 쉘 스크립트이다.
     예) /etc/init.d 디렉토의 내의 파일들(ubutu 10.10 기준)!!

   * 내 시스템상의 쉘 스크립트를 확인하고 싶다면??
     : file과 grep 명령을 사용해서 찾아보자!
     -> 예) $cd /bin
               $file * | grep "shell script"
            
               $cd /usr/bin
               $file * | grep "shell script"






** 참고: http://mybox.happycampus.com/woaini123/136680
            http://yesyo.com/mintbbs/bbs/board.php?bo_table=linux&wr_id=244&page=5
            http://k.daum.net/qna/view.html?qid=00UEP
            http://www.lug.or.kr/docs/LINUX/others/10-4.htm

댓글 없음:

댓글 쓰기