이것도 알아야 하네?

[Shell Script] Shell 개념 및 표준 입력 받기 본문

개발자 삶의 질 상승 지식/리눅스 사용

[Shell Script] Shell 개념 및 표준 입력 받기

아직 갈 길이 먼 사람 2021. 12. 13. 20:11
728x90

■ Shell 개념

Shell 이란, 사용자와 Unix 계열 시스템 사이에서 인터페이스 역할을 한다. 사용자로부터 입력을 받고, 해당 입력을 기반으로 명령들을 처리하여 결과를 출력한다. 

 

■ Shell Script 개념

Shell Script는 쉽게 이야기 하자면, Shell 환경에서 처리되는 명령어들의 모음이며, 작성된 순서대로 처리된다. Shell Script를 잘 이용한다면 방대한 양의 작업들을 자동화하여 효율적으로 처리할 수 있다. 

 

■ Shell Script 작성 예시

> 표준 입력이 없는 Shell Script

$ vi test.sh

sh 확장자를 이용하여 테스트용 Shell Script를 생성한다. Shell Script를 작성 시에 가장 중요한 점은, 아래 문장을 파일 가장 첫 번째줄에 적어 해당 파일이 Shell Script임을 명시해야한다는 것이다.

#!/bin/sh

시스템이 해당 문장을 통하여 Shell 명령어들이 나올 것을 인지하여, 해당 문장 다음으로 나오는 명령어들을 Shell에서 차례대로 실행한다. 명령어까지 포함한 전체 Shell Script 예시는 아래와 같다.

#!/bin/bash
pwd
ls

> 표준 입력을 포함한 Shell Script

동일하게 파일을 만들어 첫 줄에 Shell Script임을 명시해준다. 

$ vi test2.sh
#!/bin/sh
read USERNAME
echo "Hi! $USERNAME, the current directory is" 
pwd

 

 

이 때 read 명령어는 사용자로부터 표준 입력을 받아 뒤에 오는 변수에 저장하고, 해당 변수에 저장된 값을 보고 싶은 경우는 '$' 키워드를 이용하여 출력할 수 있다. 

■ Shell Script 실행 방법

작성한 Shell Script는 실행해주어야지 명령어들이 처리된다. 실행하기 위해서는 해당 파일을 아래의 명령어를 통해 파일을 실행가능한 형태로 만들어주어야한다. 

$ chmod +x test.sh

해당 명령어에 대하여 더 자세하게 이해하고 싶다면 이전 포스팅을 참고하길 바란다. 

https://korini.tistory.com/30

이제 실행만 하면 된다. 실행을 위한 명령어는 따로 없고, 상대경로 혹은 절대 경로를 포함한 파일명을 적으면 해당 파일 내에 존재하는 명령어들이 순서대로 실행된다.

$ ./test.sh

 

728x90
Comments