Untitled Document











현재 하고 있는 일들

0
Total 37 articles, 2 pages/ current page is 1
   

 

  View Articles
Name  
   권민정 
Homepage  
   http://nppb.korea.ac.kr/~mjkwn
Subject  
   쉘 스크립트 개념잡기 2
  차례대로 강의를 읽으셨다면 아시겠지만, 쉘 스크립트는 쉘에서의 명령어들을 그대로 사용할 수 있습니다. 그 이야기는 곧 쉘이 제공하는 틀을 벗어날 수 없다는 이야기도 되겠죠. 또한 Bourne, Korn, C 쉘의 차이점도 잘 알고 계셔야 합니다. 왜냐하면 기본 쉘이 Bourne 쉘일 때 C 쉘에서만 인식할 수 있는 명령어들을 나열해 놓은다면, Bourne 쉘은 해석할 수 없기 때문입니다. 어떤 쉘이 더 좋다라고 말하는 것은 힘들지만, 무엇보다 가장 중요한건 특정 쉘에 대한 특성을 잘 파악하고 있어야 한다는 겁니다. 그러한 이유 때문에 쉘 스크립트에는 다음과 같은 아주 기본적인 룰이 존재합니다.

쉘 스크립트를 시작할 때는 반드시 해당 스크립트에 적용할 쉘을 명시해 준다 라는 것입니다.



#! /bin/sh

#! /bin/ksh

#! /bin/csh



눈치 빠른 분들은 벌써 알아차리셨을 겁니다. 쉘 스크립트를 시작할 때 만약 Bourne 쉘을 사용하여 스크립트를 짜신다면,  해당 스크립트의 가장 첫줄에 다음과 같이 작성하셔야 합니다.

    

#! /bin/sh

    

물런 Korn, 쉘 일 때는 #! /bin/ksh, C 쉘 일 때는 #! /bin/csh을 명시해 주시면 되겠죠... :)

    

어떤 분이 묻습니다. 해당 쉘을 지정해 주기 위해서 경로를 작성해 주는 것은 이해가 가지만 왜? 어쩌서? #! 마크를 해주는 거얌? ... 그냥 그렇게들 하던데여... 어... 잠깐만여... 실은... 여.. 악!! 잠깐만...허억$&*$^@!#&^@!^^&&... .

    

우리가 사용하는 언어에도 '약속'이라는게 있고, 또한 그 약속에 어긋나지 않게 사용하는 한, 해당 약속 그룹에 속한 사람들은 그 언어를 이해할 수 있듯이, 쉘 스크립트에도 그러한 '약속'들이 존재합니다. 아니, 사실 쉘 스크립트의 모든 것들이 그 '약속' 이라 할 수 있죠. 단지 언어 구사 능력이 다르듯, 개개인마다의 구사력이 차이가 있을 뿐이겠지만... :)

    

# 이나 ! 도 아무런 의미없이 사용된 것은 아닙니다. # 은 단독으로 사용되었을 때 쉬운말로 주석을 의미합니다. 예를 들어 스크립트의 어느 라인이든, 라인의 처음에 '#'을 기입한다면, 그 줄은 주석 처리 되는거죠. 다시말해 쉘은 해당라인을 완전히 무시하고 그냥 넘어갑니다. 긴 스크립트를 작성할 때 이용하면 편리하겠죠? 중간중간에

# 여기서 부터는 입력 데이터 받는 기능임.

라는 식으로 스크립트의 해석을 할 수 있을테니까요... :) 하지만, # 이 ! 와 함께 쓰일 때 ( #! ) 는 스크립트의 해석기로서 어떤 쉘을 사용할 것인가를 명시하는 '약속' 이 됩니다. 그래서, 스크립트의 첫줄에 자신이 해석기로 사용할 쉘의 명시를 이런식으로 해주는 것이죠... :)

#! /bin/sh  ---> 난 본쉘 쓸레... .

#! /bin/ksh  ---> 난 콘쉘 쓸거얌... .

#! /bin/csh  ---> 난 씨쉘 쓸건데... .



출처 : http://www.neoshell.com


    

 


Prev
   AWK란? [1]

권민정
Next
   쉘 스크립트란 무엇인가? (쉬운 설명 ^^*)

권민정


Copyright 1999-2022 Zeroboard / skin by madpark