셸이란?
사용자와 리눅스 시스템을 연결해주는 프로그램을 말한다
사용자는 셸을 통해 리눅스에게 명령을 내리고
셸은 사용자가 입력한 명령어를 해석해 작업을 수행한다.
셸 스크립트란?
셸은 프로그래밍 기능이 내장되어 있어
복잡하거나 반복적인 작업을 프로그램으로 만들 수 있다.
이 프로그램을 셸 스크립트라고 한다.
셸 스크립트를 사용하면 편리하게 자동화된 작업 수행이 가능하다.
또한 팀원들과 스크립트를 공유할 수 있어 효율적인 작업이 가능하다.
셸 스크립트 만들기
스크립트 파일을 만들어 보자.
vi나 vim, gedit를 사용해 파일을 생성하자. 필자는 vim을 사용하겠다.
파일 이름은 test, 확장자는 .sh로 만들어 보려 한다.
# vim test.sh
스크립트 맨 위에는 셸을 지정하는 아래의 구문이 반드시 들어가야 한다.
#!/bin/bash
이는 쉬뱅이라고도 부르는데 # 의 hash, !의 bang을 합친 말이다.
1. 출력문
텍스트 출력은 echo 또는 printf를 사용한다.
#!/bin/bash
echo “hello world!”
printf “hello world!\n”
프로그램을 실행하려면 먼저 실행 권한을 부여해야 한다.
# chmod 777 test.sh
실행 권한을 주었다면 파일을 실행해 보자
#./test.sh
실행 결과는 다음과 같다.

echo와는 달리 printf는 자동 줄바꿈을 지원하지 않기 때문에 \n을 붙여주었다.
printf는 아래와 같이 사용할 수도 있다.
조금 전 작성한 test.sh 파일에 아래 구문을 추가해 보자.
printf "%s %s" hello world!
전체 코드는 다음과 같다.
#!/bin/bash
echo “hello world!”
printf “hello world!\n”
printf "%s %s" hello world!
실행 결과는 다음과 같다.

2. 변수 사용하기
이번에는 변수를 사용해 텍스트를 출력해 보자.
방법은 아주 간단하다.
변수명=출력할문장
그리고 출력문에는 변수명 앞에 $를 붙이면 된다.
예를 들어보자.
#!/bin/sh
text="hello world!"
echo $text
결과는 다음과 같다.

여기서 주의할 것은 =의 앞 뒤 공백이 없어야 한다는 것이다.
공백을 주는 순간 셸은 변수가 아닌 명령어로 인식을 한다.
예를 들어보자.
text = "hello world!"
이 경우 프로그램을 실행하면 다음과 같은 오류 메세지가 뜬다.

3. 입력문 사용하기
입력을 받는 명령어는 read이다. 아래와 같이 사용하면 된다.
read 변수명
예를 들어 보자.
#!/bin/sh
read text
echo $text

'셸 스크립트 (Shell Script)' 카테고리의 다른 글
[셸 스크립트] 6. 반복문 while 사용하기 (0) | 2024.06.11 |
---|---|
[셸 스크립트] 5. 반복문 for 사용하기 (0) | 2024.06.10 |
[셸 스크립트] 4. 환경 변수 또는 예약변수 (0) | 2024.06.09 |
[셸 스크립트] 3. case 문 사용하기 (0) | 2024.06.09 |
[셸 스크립트] 2. if 문 사용하기 (0) | 2024.06.07 |