본문 바로가기
Study/내가 정리하는 개념들

[Linux] 리눅스 shell 파일 만들어보기

by 오늘만 사는 여자 2025. 4. 18.
728x90
반응형

소스를 pull하고 서버를 재시작하는 명령어를 매번 하나씩 날리고 있었는데 쉘파일을 만들어서 

쉘파일 하나만 시작하면 될 수 있게끔 변경해보려고 한다 

 

쉘 파일 만들어보기

쉘파일을 만들고 싶은 경로로 이동하여 vi test_shell.sh

2. 내부 코드 작성해보기

#!/bin/bash

# 1. 최신 이미지 받기
docker pull test

# 2. 기존 컨테이너 종료 및 제거
docker compose down test

# 3. 서버 컨테이너만 실행
docker compose up -d test

 

#!/bin/bash의 의미는?

이건 **"쉘 스크립트를 어떤 프로그램으로 실행할지 지정하는 줄"**이다.

흔히 **"쉐뱅(Shebang)"**이라고 부른다.

 

💡 무슨 역할을 하는가?

  • 이 줄이 있으면, 스크립트를 실행할 때 자동으로 /bin/bash라는 Bash 쉘 프로그램을 사용해서 실행한다.
  • 즉, ./updatet-test.sh 이렇게 실행했을 때, bash가 이 스크립트 내용을 읽고 해석해주는 거다.

왜 꼭 필요할까?

  • 시스템은 .sh 파일을 그냥 텍스트 파일로 보기 때문에, "이 파일을 어떤 프로그램으로 실행해야 하지?"를 모른다.
  • #!/bin/bash가 없으면, 어떤 쉘에서 실행하느냐에 따라 동작이 달라질 수 있다. (예: sh, zsh, dash 등).
  • 특히, bash 전용 문법([[, let, 배열 등)을 사용할 경우 #!/bin/bash로 지정 안 하면 에러 날 수 있다.

 

 

 

728x90
반응형

'Study > 내가 정리하는 개념들' 카테고리의 다른 글

mysql vs postgres 짧은 비교  (0) 2023.06.01
I.A(Information Architecture) 란?  (0) 2023.05.26
Message Queue란?  (0) 2023.05.23
[시사금융용어] 샤딩(Sharding)  (0) 2023.05.09
[금융용어] 여신이 뭐예요?  (0) 2022.12.01

댓글