본문 바로가기
Language & Framework & GIT/LINUX

[LINUX] 쉘 스크립트(Shell Script) 작성 및 필요성

by veganwithbacon 2023. 10. 20.
반응형

  쉘 스크립트(Shell Script)

shell을 통한 프로그래밍이 가능하다.

보통 리눅스 등의 서버 작업 프로그래밍 시 많이 쓰인다.

쉘 스크립트는 파일 안에 스크립트를 작성한 후, 즈후걸후란 실행 시 해당 스크립트가 실행되는 방식이다.

 

쉘 스크립트의 첫 줄은

#!/bin/bash

로 시작된다. #은 주석이다.

!은 shebang(, 해시뱅,hashbang)으로 불리며, 스크립트가 실행될 인터프리터를 지정하는 역할이다.

쉘 스크립트는 실행 권한이 있어야 실행 시킬 수 있다.

 

간단한 쉘 스크립트를 만들어서 실행 해보자. 

$ vi forever.sh

vi [쉘 파일명]을 입력하여 쉘 파일 생성/편집 모드로 들어간다. 

필자는 파일명은 forever.sh 로 만들어 보겠다. 

* shell script의 파일 형식은 관습적으로 "sh" 확장자를 사용한다. 이는 정해진 규칙이라기보다 쉘 스크립트라는 것을 표시하기 위함이다. 

 

 

편집모드 i 를 눌러

첫 라인에  #!/bin/bash 를 써 주고, 

실행 스크립트는 echo "forever!" 로 입력해보았다.

 

*echo명령어는 쉘 프로그래밍 언어에서 출력문이다. "forever!"을 출력하겠다는 의미이다.

일반적인 프로그래밍 언어의 print 명령문이 되겠다. 

 

입력 후 편집모드 종료키인 esc를 눌러 vi가 비활성화 되면 

저장후 종료하라는 명령문인 :wq 를 입력하여 저장 후, vi를 종료한다. 

 

ls -l 명령어를 사용하여 forever.sh 파일을 확인해보면 

-rw-r--r-- 권한으로 즉, 실행권한이 없는 일반파일이 생성이 된 것을 확인할 수 있다.

이 경우 쉘스크립트를 실행(./forever.sh) 해보면, 

실행 권한이 없기 때문에 '허가거부' 메세지가 떨어지면서 실행되지 않는다.

 

이 파일을 실행할 수 있도록 실행권한 chmod 755 권한을 부여해 준다. 

* 퍼미션 755 설정 : 모든 사용자에게 실행 권한이 주어짐

실행권한 부여 부, forever.sh 쉘 파일을 실행하면 다음과 같이 스크립트에 입력해두었던 출력문이 실행되어

"forever!" 문구가 잘 출력이 된다. 

* 실행방법

실행방법은 명령어 3가지 방법이 있다.

1) ./forever.sh

2) sh forever.sh

3) bash forever.sh

필자는 1번 방법으로 실행하였다. 

 

다음과 같은 매커니즘으로 쉘스크립트를 실행할 수 있고 

출력문이 아닌 실제 하고자 하는 작업 명령문을 입력해놓으면 

길거나 여러개의 명령문을 순차적으로 실행하며 

사용자 입장에서는 (실제 실행 프로세스를 모르더라도)간단히 쉘 스크립트를 실행하는 것만으로 작업실행이 가능하다. 


     shell script를 사용하는 이유?

가장 큰 이유는 반복되는 작업을 자동화하기 위해 스크립트형태로 미리 만들어 놓고 실행만 하도록 하기 위해서이다.

이렇게 하면 스케줄링을 돌려서 파일만 실행하도록 할수도 있고 스크립트의 내용을 몰라도 누구나 실행할 수 있다. 

 

이러한 장점을 가지고 있는 shell script는 모니터링, 데이터 백업, 복구, notification, 보안, 인증 등

여러 상황에서 많이 사용된다.

반응형

댓글