Raspberry Pi_Kor_20.2.3 script 문법 기초


Published Book on Amazon


All of IOT

Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 1

All of IOT

Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 2


출판된 한글판 도서


최신 라즈베리파이(Raspberry Pi)로 시작하는 사

물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (상)

최신 라즈베리파이(Raspberry Pi)로 시작하는 사

물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (하)


Original Book Contents


20.2.3  script 문법 기초

 

여기서는 script를 작성하기 위한 각종 규칙과 문법에 대해서 설명할 것이다.

 

20.2.3.1    script 정의  

 

script는 기본적으로 텍스트 형식의 파일이다. 내부적으로 해당 파일이 script라는 정의가 있어서 일반적인 텍스트 파일과는 구분된다. 해당 파일일 script라는 것을 정의하는 것은 다음과 같이 행의 맨 처음에 입력하는 값이다.

 

#!/bin/bash       

~

~ 중략

~

 

script를 작성할 때는 항상 이런 형식으로 시작한다. 여기서 "#!" "쉬뱅(shebang)"이라고 하는데, 해당 script를 실행하여 어떤 Shell을 사용하여 명령을 해석하고 실행할 것인지를 결정할 때, 그 뒤에 기술된 파일 경로에 있는 Shell을 사용하라는 것을 의미한다. 위에서처럼 지정하면 "/bin/bash"에 있는 BASH를 이용하여 처리하라는 것이다.

 

지금부터는 가장 간단한 script 프로그램을 작성해서 실행해 보면서 script가 어떻게 구성되어 있으며, 어떻게 실행되는지를 설명하도록 하겠다. 여기서 사용할 예제는 화면에 "Hello World"라는 문구를 보여주고 처리를 종료하는 단순한 script이다.

 

텍스트 편집기를 이용해서 다음과 같은 내용을 입력하고 자신의 Home directory "Script" 폴더에 "hello.sh" 파일에 저장하도록 한다.

 

#!/bin/bash

echo "Hello World"

 

다음 명령을 실행하여 파일이 정상적으로 생성되어 있는지 확인한다.   

 

pi@raspberrypi ~ $ cd Script

pi@raspberrypi ~/Script $ ls  -l hello.sh

total 4

-rw-r--r-- 1 pi pi 30 Apr 29 16:43 hello.sh

 

script 파일을 실행하기 위해서는 실행(execute) 권한이 부여되어 있어야 한다. 다음과 같이 파일에 실행(execute) 권한을 부여하고, 처리결과를 확인한다.

 

pi@raspberrypi ~/Script $ chmod +x hello.sh

pi@raspberrypi ~/Script $ ls  -l

total 4

-rwxr-xr-x 1 pi pi 30 Apr 29 16:43 hello.sh

 

모든 준비가 되었으므로 이 명령을 실행해 보겠다.

 

pi@raspberrypi ~/Script $ ./hello.sh

Hello World

 

이제 화면에 "Hello World"라는 문구가 표시되었다. 이렇게 해서 우리는 간단하지만 완벽한 script를 하나 작성해서 실행해 보았다모든 script는 내부적으로는 복잡한 로직을 가지고 있겠지만, 기본적인 틀은 이 script와 동일한 구조와 형태로 작성하고, 실행할 수 있는 것이다.

 

20.2.3.2    주석(comment)

 

script 각 행의 처음에 "#" 기호가 있는 것은 그 행이 단순히 주석이며 실행되지 않은 문장이라는 것을 표시한다. 기본적으로 다음과 같이 사용한다.

 

# comment

 

주석은 script를 작성할 때 여러 가지 중요한 참고사항을 적어 둘 때 사용한다. 또한 script 명령 문장의 일부분을 일시적으로 실행하지 않도록 하기 위해서 그 부분을 주석으로 처리할 수도 있다.

 


 

Leave a Reply