쉘 스크립팅 1부: bash 스크립팅 시작하기
이 페이지에서
- 소개
- 셸 스크립트를 만드는 이유는 무엇입니까?
- Linux 환경이 처음인데 쉘 스크립트 작성 방법을 계속 배울 수 있습니까?\n
- 첫 번째 쉘 스크립트 만들기
- 안녕하세요!\n
- printf를 사용하여 출력 생성\n
- 결론
안녕하세요. 이것은 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"
스크립트는 다음을 출력합니다.
결론
이 자습서에서는 셸 스크립팅의 기본 사항을 배웠고 셸 스크립트를 만들고 실행할 수 있었습니다. 튜토리얼의 두 번째 부분에서는 셸 명령을 사용하여 변수를 선언하고 입력을 수락하고 산술 연산을 수행하는 방법을 소개합니다.