728x90
반응형

쉘 스크립트를 어떻게 생성할까?
리눅스를 자주 사용하는 사람이라면 너무나 간단한 내용일 수도 있다.
파일 생성 -> vi 에서 bash shell 선언 -> vi 에서 스크립트 작성 -> 실행 권한 적용 및 스크립트 실행
순으로 간단하게 작성해보았다.

 

파일 생성

우선 파일을 만들어야 한다.
리눅스에서 파일을 생성할 때 cat 명령어를 통해서 생성하기도 하지만
vi 또는 vim 또는 nano 또는 gedit 라는 에디터를 통해서 파일을 생성하기도 한다.
나 같은 경우 간단한 파일들을 cat 이나 touch 명령어를 통해서 생성하기도 하지만
쉘 스크립트를 만들 때 주로 vi 에디터를 사용해서 생성한다.

$ vi [원하는이름].sh jaynam:shell_script/ $ vi a.sh

이렇게 원하는 이름으로 파일을 생성하면 된다. 그럼 바로 vi 에디터가 실행된다.

 

vi 에서 bash shell 선언

vi 에디터가 실행되었다면 어떤 쉘을 사용할 것인지 선언해주어야 한다.
주로 bash 쉘을 사용하기 때문에 다음과 같이 맨 윗 줄에 추가해준다.
bash shell 을 선언하는 방법은 아래와 같다.

#!/bin/bash

주로 /bin 디렉토리 안에 bash 가 존재하지만 다른 경로에 존재할 수도 있다.
기본적으로 bash의 위치는 /bin/bash 에 있기 때문에 해당하는 주소를 가져와서 선언해주면 된다.

 

vi(vim) 에서 스크립트 작성

선언해주었다면 이제부터 쉘 스크립트를 작성하면 된다.
간단하게 echo 를 사용해서 Hello Shell 이라는 문자열을 출력해보자.

#!/bin/bash echo "Hello shell"

이렇게 echo 를 통해서 작성하고 저장한다. ( vi 에서 저장하고 나가는 방법은 -> :wq! )

 

스크립트 권한 설정 및 실행

그럼 실행해보자.

// sh [만든 쉘 스크립트 파일명] jaynam:shell_script/ $ sh a.sh Hello shell

보통 현재 디렉토리에서 쉘 스크립트 파일을 실행할 때 현재 디렉토리 안에 있다는 의미의 ./ 를 붙여서 실행시키기도 한다.
하지만 만든 쉘 스크립트 파일을 확인해보면 실행 권한(x)이 없다는 것을 확인할 수 있다.

jaynam:shell_script/ $ ls -rlt // x 라는 실행 권한이 없다. -rw-r--r-- 1 jaynam staff 32 9 8 18:55 a.sh

 

읽기와 쓰기 권한만 주어져있는 것을 확인할 수 있다.
* 파일 권한에 대해 정리한 내용
./ 를 통해서 실행시키고자 한다면 chmod 라는 명령어를 통해서 실행 권한을 주어야 한다.

 

다음과 같이 권한을 변경할 수 있다.
확인해보면 x (실행) 권한이 추가되고 파일 이름의 색도 바뀐 것을 확인할 수 있다.

// chmod +x [파일명] jaynam:shell_script/ $ chmod +x a.sh jaynam:shell_script/ $ ls -rlt total 8 -rwxr-xr-x 1 jaynam staff 32 9 8 18:55 a.sh // chmod 755 [파일명] jaynam:shell_script/ $ chmod 755 a.sh jaynam:shell_script/ $ ls -rlt total 8 -rwxr-xr-x 1 jaynam staff 32 9 8 18:55 a.sh

 

이제 실행 권한을 주었으니 현재 디렉토리에서 바로 실행해보자.

jaynam:shell_script/ $ ./a.sh Hello shell

실행이 잘 되고 결과도 잘 출력되는 것을 확인할 수 있다.

 



- 참고 사이트 -
storycompiler.tistory.com/101

 

[Ubuntu/Linux] #!/bin/sh에 대한 간단한 이야기

우분투로 작업을 하다보면 필연적으로 쉘스크립트를 마주하게 됩니다. 쉘스크립트 파일을 열어보면 첫번째 줄에 주석 비스무레한 것이 있지요. '#'으로 시작하기 때문에 주석처럼 보이는 것인��

storycompiler.tistory.com

 

728x90
반응형
복사했습니다!