웹사이트 검색

쉘 스크립팅 1부: bash 스크립팅 시작하기


이 페이지에서

  1. 소개
  2. 셸 스크립트를 만드는 이유는 무엇입니까?
  3. Linux 환경이 처음인데 쉘 스크립트 작성 방법을 계속 배울 수 있습니까?\n
  4. 첫 번째 쉘 스크립트 만들기
  5. 안녕하세요!\n
  6. printf를 사용하여 출력 생성\n
  7. 결론

안녕하세요. 이것은 Linux 자습서 시리즈의 첫 번째 부분입니다. 이 자습서를 작성하면서 나는 당신이 Linux 스크립트를 만드는 데 있어 절대적인 초보자이며 배우려는 의지가 매우 크다고 가정합니다. 시리즈가 진행되는 동안 레벨이 올라가기 때문에 상급자에게도 새로운 무언가가 있을 것이라고 확신합니다. 시작하겠습니다.

소개

Linux를 포함한 대부분의 운영 체제는 다양한 사용자 인터페이스(UI)를 지원할 수 있습니다. 그래픽 사용자 인터페이스(GUI)는 사용자가 아이콘을 클릭하여 응용 프로그램을 실행할 수 있는 사용자 친화적인 데스크톱 인터페이스입니다. 다른 유형의 인터페이스는 순전히 텍스트이고 사용자의 명령을 받아들이는 명령줄 인터페이스(CLI)입니다. 쉘인 명령 해석기는 CLI를 통해 명령을 읽고 프로그램을 호출합니다. 오늘날 대부분의 운영 체제는 Linux 배포판을 포함한 두 가지 인터페이스를 모두 제공합니다.

쉘을 사용할 때 사용자는 터미널에서 일련의 명령을 입력해야 합니다. 사용자가 작업을 한 번만 수행해야 하는 경우 문제 없습니다. 그러나 작업이 복잡하고 여러 번 반복해야 하는 경우 사용자에게 약간 지루할 수 있습니다. 다행스럽게도 셸 작업을 자동화하는 방법이 있습니다. 이는 쉘 스크립트를 작성하고 실행하여 수행할 수 있습니다. 쉘 스크립트는 Linux 쉘에서 지원하는 일련의 명령으로 구성된 파일 유형입니다.

쉘 스크립트를 만드는 이유는 무엇입니까?

쉘 스크립트는 Linux OS에서 작업을 자동화하는 데 매우 유용한 도구입니다. 유틸리티를 결합하고 새 명령을 만드는 데 사용할 수도 있습니다. 길고 반복적인 명령 시퀀스를 하나의 간단한 명령으로 결합할 수 있습니다. 모든 스크립트는 컴파일할 필요 없이 실행할 수 있으므로 사용자는 명령을 원활하게 프로토타이핑할 수 있습니다.

저는 Linux 환경이 처음인데 쉘 스크립트를 만드는 방법을 계속 배울 수 있습니까?

물론! 쉘 스크립트를 작성하는 데 Linux에 대한 복잡한 지식이 필요하지 않습니다. Linux CLI 및 텍스트 편집기의 일반 명령에 대한 기본 지식이 필요합니다. 완전 초보자이고 Linux 명령줄에 대한 배경 지식이 없는 경우 이 자습서가 도움이 될 수 있습니다.

내 첫 번째 쉘 스크립트 만들기

bash(Bourne-Again Shell)는 대부분의 Linux 배포판과 OS X의 기본 셸입니다. 원래 Unix 셸인 sh(Bourne Shell)를 대체하기 위한 오픈 소스 GNU 프로젝트입니다. Brian Fox가 개발하여 1989년에 출시되었습니다.

bash를 사용하는 각 Linux 스크립트는 다음 줄로 시작한다는 점을 항상 기억해야 합니다.

#!/bin/bash

모든 Linux 스크립트는 shebang(#!) 줄로 시작합니다. bang 라인은 스크립트를 실행하는 데 사용될 명령 해석기의 전체 경로 /bin/bash를 지정합니다.

안녕하세요 세계!

모든 프로그래밍 언어는 Hello World! 표시하다. 우리는 이 전통을 끝내지 않고 Linux 스크립팅에서 이 더미 출력의 자체 버전을 만들지 않을 것입니다.

스크립트 작성을 시작하려면 아래 단계를 따르십시오.

1단계: 텍스트 편집기를 엽니다. 이 예에서는 gedit를 사용하겠습니다. 터미널을 사용하여 gedit를 열려면 키보드에서 CTRL + ALT + T를 누르고 gedit를 입력합니다. 이제 스크립트 작성을 시작할 수 있습니다.

2단계: 텍스트 편집기에서 다음 명령을 입력합니다.

#!/bin/bash 
echo "Hello World"

3단계: 이제 파일 이름을 hello.sh로 저장합니다. 각 스크립트의 파일 확장자는 .sh입니다.

4단계: Linux 배포판에서 시행하는 보안상의 이유로 파일과 스크립트는 기본적으로 실행 가능하지 않습니다. 그러나 Linux CLI에서 chmod 명령을 사용하여 스크립트에 대해 변경할 수 있습니다. gedit 응용 프로그램을 닫고 터미널을 엽니다. 이제 다음 명령을 입력하십시오.

chmod +x hello.sh

위의 줄은 hello.sh 파일에 대한 실행 권한을 설정합니다. 이 절차는 처음으로 스크립트를 실행하기 전에 한 번만 수행해야 합니다.

5단계: 스크립트를 실행하려면 터미널에 다음 명령을 입력합니다.

./hello.sh

또 다른 예를 들겠습니다. 이번에는 hello 스크립트에 whoami 및 date 명령을 사용하여 일부 시스템 정보 표시를 통합합니다.

텍스트 편집기에서 hello.sh를 열고 다음을 입력하여 스크립트를 편집합니다.

#!/bin/bash
echo "Hello $(whoami) !"
echo "The date today is $(date)"

스크립트에서 변경한 내용을 저장하고 다음을 입력하여 스크립트를 실행합니다(이전 예제의 5단계).

./hello.sh

스크립트의 출력은 다음과 같습니다.

이전 예에서 whoami 및 date 명령은 echo 명령 내에서 사용되었습니다. 이는 명령줄에서 사용할 수 있는 모든 유틸리티와 명령을 셸 스크립트에서도 사용할 수 있음을 의미할 뿐입니다.

printf를 사용하여 출력 생성

지금까지 echo를 사용하여 이전 예제의 명령에서 문자열과 데이터를 인쇄했습니다. 에코는 한 줄의 텍스트를 표시하는 데 사용됩니다. 데이터를 표시하는 데 사용할 수 있는 또 다른 명령은 printf 명령입니다. printf는 C의 printf 함수처럼 데이터를 제어하고 인쇄합니다.

다음은 일반적인 prinf 컨트롤에 대한 요약입니다.

Control Usage
\" Double quote
\\ Backslash
\b Backspace
\c Produce no further output
\e Escape
\n New Line
\r Carriage Return
\t Horizontal tab
\v Vertical Tab

예3: 이전 hello.sh를 열고 모든 에코를 printf로 변경하고 스크립트를 다시 실행합니다. 출력에서 어떤 변화가 발생하는지 확인하십시오.

#!/bin/bash
printf "Hello $(whoami) !"
printf "The date today is $(date)"

printf 명령에서 컨트롤을 사용하지 않았기 때문에 모든 줄이 서로 연결되어 있습니다. 따라서 Linux의 printf 명령은 C 함수 printf와 동일한 속성을 갖습니다.

스크립트의 출력 형식을 지정하기 위해 위의 테이블 요약에 있는 컨트롤 중 두 가지를 사용합니다. 작동하려면 컨트롤이 printf 명령의 따옴표 안에 \\로 표시되어야 합니다. 예를 들어 hello.sh의 이전 내용을 다음과 같이 편집합니다.

#!/bin/bash
printf "Hello \t $(whoami) !\n"
printf "The date today is $(date)\n"

스크립트는 다음을 출력합니다.

결론

이 자습서에서는 셸 스크립팅의 기본 사항을 배웠고 셸 스크립트를 만들고 실행할 수 있었습니다. 튜토리얼의 두 번째 부분에서는 셸 명령을 사용하여 변수를 선언하고 입력을 수락하고 산술 연산을 수행하는 방법을 소개합니다.