Computer >> 컴퓨터 >  >> 문제 해결 >> Linux

SH 파일이란 무엇이고, 리눅스에서 셸 스크립트를 만들고 실행하는 방법

스크립트 파일은 특정 프로그램이나 스크립팅 엔진에 의해 실행되는 명령어들의 모음입니다. 이러한 명령어는 컴파일 과정 없이 곧바로 실행되며, 런타임 환경에서 작동하도록 스크립팅 언어로 작성됩니다. 다양한 목적과 환경에 맞춘 수많은 스크립팅 언어가 있지만, 이번 글에서는 리눅스 환경에서 사용되는 bash 스크립팅 언어를 다룹니다. bash 스크립트의 명령어나 문법을 담고 있는 파일을 SH 파일 또는 셸 스크립트 파일이라고 부릅니다.

리눅스에서 SH 파일이란?

SH 파일은 bash 언어로 작성된 명령어를 포함하며, 일반적으로 .sh 확장자를 가집니다. 터미널에서 평소 실행하던 어떤 명령어든 스크립트 파일에 담아두고 실행할 수 있습니다. 특히 자주 반복해서 실행해야 하는 일련의 명령어가 있다면, 미리 스크립트로 만들어 두었다가 필요할 때마다 호출만 하면 되므로 작업 효율이 크게 향상됩니다.

흥미로운 점은 SH 파일에 반드시 .sh 확장자가 있어야 하는 것은 아니라는 사실입니다. 리눅스는 윈도우와 달리 파일의 첫 번째 줄에 위치한 'shebang(쉬뱅)'만으로도 해당 파일이 스크립트임을 인식합니다. .sh 확장자를 붙이는 것은 흔히 사용되는 관례이긴 하지만 필수는 아니며, 확장자를 붙여서 얻는 이점이 크지 않고 오히려 유연성이 떨어질 수도 있습니다.

SH 파일 만드는 방법

다른 코드 파일과 마찬가지로 간단한 텍스트 편집기를 이용해 SH 파일을 만들 수 있습니다. 필요한 것은 해당 언어의 명령어와 문법을 아는 것뿐입니다. 다만 bash 셸 스크립트 파일에서 가장 중요한 것은 아래와 같은 shebang으로 시작해야 한다는 점입니다:

#!/bin/bash

이 구문을 코드의 첫 번째 줄에 추가하면 해당 파일이 실행 가능한 bash 스크립트로 동작합니다. bash 인터프리터의 위치는 다음 명령어로 확인할 수 있습니다:

which bash

또한 시스템이 해당 파일을 실행 파일로 인식하도록 권한을 부여하는 명령어를 사용해야 합니다. 다만 경우에 따라서는 이 과정이 필요하지 않을 수도 있습니다:

chmod +x filename

참고: filename에는 파일에 지정한 이름을 입력하면 됩니다.

리눅스 터미널에서 SH 파일 실행하기

터미널에 텍스트 명령어를 입력하여 SH 파일을 실행할 수 있습니다. 실행하기 전에 SH 파일 내 코드 문법이 올바른지 먼저 확인해야 합니다. 여기서는 스크립트 파일의 작동 방식을 보여주기 위한 예제 코드를 사용하며, 실제 작업 시에는 본인이 작성한 코드를 활용하면 됩니다.

  1. 시스템에서 선호하는 텍스트 편집기를 엽니다.
  2. 아래 예제 코드를 입력한 뒤, sh 확장자를 붙이거나 붙이지 않은 상태로 저장합니다:
    #!/bin/bash
    
    echo Hello, appuals users!         #echo is used to display the line of text
    
    echo What is your name?            #Program will ask for input
    
    echo what                          #Here user need to give input
    
    echo Hello, $what!                 #Input will be printed with text

    참고: 각 줄 끝의 주석을 읽으면 예제 코드의 역할을 쉽게 이해할 수 있습니다.

  3. Ctrl + Alt + T 키를 동시에 눌러 터미널을 엽니다.
  4. 스크립트 파일을 실행하는 방법은 여러 가지가 있습니다:
    ./appuals
    sh appuals
    bash appuals

    참고: 파일 이름은 무엇이든 될 수 있습니다. 여기서는 확장자 없이 "appuals"라고 이름을 지었습니다. 또한 파일이 있는 올바른 디렉터리로 이동한 상태인지 반드시 확인하세요.

  5. 파일이 실행되지 않는다면 chmod 명령어를 입력하여 시스템이 해당 파일을 실행 파일로 인식하도록 권한을 설정합니다. 이미 실행 파일로 인식되고 있다면 이 단계는 건너뛰어도 됩니다:
    chmod +x appuals