JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

쉘 스크립트 파일 작성/실행 하는 법

JSCODE 박재성
JSCODE 박재성
2025-12-06
author
JSCODE 박재성
category
Linux
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 리눅스 입문/실전
slug
write-run-shell-scripts
type
post
updatedAt
Dec 6, 2025 05:39 AM

✅ 쉘 스크립트 파일 작성/실행하는 법

  1. 파일명을 .sh로 끝나게 작성하기
    1. $ vi first.sh
      **참고) 파일명이 .sh로 끝나게 작성하지 않아도 쉘 스크립트는 정상적으로 작동한다. 하지만 파일명만 보고 쉘 스크립트 파일인지 바로 알아볼 수 있게, 파일명을 .sh로 끝나게 작성하는 걸 추천한다.
       
  1. 파일 첫 줄에 #!/bin/bash 작성하기
    1. first.sh
      #!/bin/bash
      위 코드는 해당 스크립트를 어떤 쉘(shell)로 실행할 지를 명시하기 위해서 작성한다. 하지만 쉘(shell)이 뭔지, 다양한 쉘(shell)에는 어떤 것들이 있는 지 배우지 않았다. 따라서 그냥 ‘쉘 스크립트를 작성할 때 첫 줄에는 위 코드를 쓰는 게 좋구나’라고만 알고 넘어가자. (리눅스를 처음 입문하는 입장에서 이 코드의 의미를 정확하게 파악하는 게 별로 중요하지 않으니 그냥 넘어가도 된다.)
       
  1. 자동으로 실행시키고 싶은 명령어들 순서대로 입력하기
    1. first.sh
      #!/bin/bash echo 1 echo 2 echo 3...
      위와 같이 입력하고 파일을 저장하고 나오자.
       
  1. 쉘 스크립트 파일 실행하기
    1. 아래와 같이 실행시키고자 하는 파일의 경로를 명령어로 입력하면 된다.
      $ ./first.sh
      notion image
      하지만 명령어를 입력해보면 Permission denied라고 에러가 뜬다. 이전 강의에서 이 에러의 원인에 대해 많이 파헤쳐봤었다. 이번에도 한 번 왜 Permission denied가 떴는 지 분석해보자.
       
       

✅ Permission denied 에러 분석하기

$ ls -l # 현재 디렉토리의 모든 파일에 대한 파일 세부 정보 확인하기 $ ls -l first.sh # first.sh에 대한 파일 세부 정보 확인하기
notion image
소유자가 ubuntu이고, 소유 그룹이 ubuntu로 설정되어 있다. 그리고 파일 권한은 rw-rw-r--으로 설정되어 있다. 따라서 ubuntu 사용자로 접근하면 rw-의 권한만 가지고 있고 x에 대한 권한을 가지고 있지 않다. 그래서 쉘 스크립트 파일을 실행시키려고 할 때 Permission denied 에러가 뜬 것이다.
👨🏻‍🏫
“권한에 대해 기억이 잘 안나는 사람들을 위해 복습 한 번 하고 넘어가자.“
[일반 파일인 경우]
  • r(read) : 파일을 읽을 수 있다. (= 파일 내부 내용 확인 가능)
  • w(write) : 파일을 수정할 수 있다.
  • x(execute) : 파일을 실행할 수 있다. (실행 파일 또는 쉘 스크립트인 경우)
* 권한을 r, w, x의 순서로 표시한다. 해당 권한이 없을 경우 -로 표시한다.
[권한 변경 방법]
notion image
# chmod [숫자 세 자리] [권한 변경할 파일명] $ chmod 777 script.sh $ chmod 644 file.txt $ chmod 755 secret.txt
그럼 모든 사용자에 대해 실행 권한(x)을 부여하려면 아래와 같이 명령어를 입력하면 된다.
$ chmod 775 first.sh
그런데 명령어를 입력하기 위해 바꿀 권한을 숫자로 계산해야 하는 게 귀찮다. 따라서 조금 더 쉽게 사용할 수 있는 명령어가 있다.
$ chmod +x first.sh # 모든 사용자에게 실행 권한(x)을 추가(+)하겠다는 의미이다. # 잘 권한이 적용됐는 지 확인하기 $ ls -l first.sh
notion image
** 실행 권한(x)을 부여하고 싶을 때 이 명령어(chmod +x)를 많이 사용하니 정리해두자.
 
그런 뒤에 다시 쉘 스크립트 파일을 실행시켜보자.
$ ./first.sh
notion image
정상적으로 실행이 됐다. 쉘 스크립트 파일에 작성한 명령어들이 순차적으로 실행됐다.
 
 

✅ 쉘 스크립트의 역할

방금 쉘 스크립트 파일을 실행시켜보니 쉘 스크립트에서 작성한 리눅스 명령어를 순서대로 실행시키는 역할을 한다. 이 덕분에 여러 복잡한 명령어들을 쉘 스크립트 파일 하나로 간단하게 실행시킬 수 있다. 그래서 무언가의 작업을 자동화할 때 쉘 스크립트를 많이 활용한다.
author
JSCODE 박재성
category
Linux
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 리눅스 입문/실전
slug
type
series-footer
updatedAt
Dec 6, 2025 05:28 AM
📎
이 글은 비전공자도 이해할 수 있는 리눅스 입문/실전 강의의 수업 자료 중 일부입니다.