쉘 스크립트(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, 보안, 인증 등
여러 상황에서 많이 사용된다.
'Language & Framework & GIT > LINUX' 카테고리의 다른 글
[LINUX] ros2 [-h][--use-python-default-buffering] (83) | 2023.10.23 |
---|---|
[LINUX] 소스와 바이너리 패키지 설치, 차이가 뭘까? (86) | 2023.10.23 |
[LINUX] && 연산자 사용 시 sudo가 적용되지 않는 경우 (79) | 2023.10.20 |
[LINUX] could not open lock file /var/lib/dpkg/lock-frontend - open (13 permission denied) (76) | 2023.10.20 |
[LINUX] Ubuntu : ~~ is not valid yet(invalid for another ~h ~min ~s). Updates for this repository will not be applied. (67) | 2023.10.20 |
댓글