초보자 가이드 - BASH - 1 부 - Hello World

BASH를 사용하여 쉘 스크립트를 작성하는 방법을 보여주는 인터넷 가이드가 많이 있습니다.이 가이드는 쉘 스크립팅 경험이 거의없는 사람이 작성한 것이기 때문에 약간 다른 스핀을 제공하는 것을 목표로합니다.

이제는 어리석은 아이디어라고 생각할지도 모르겠지만, 이미 전문가이고 다른 가이드가 추적하기에 너무 오래 걸리는 것처럼 일부 가이드가 나와 대화한다는 것을 알게되었습니다.

내 LINUX / UNIX 쉘 스크립팅 경험은 제한되어 있지만, 나는 무역으로 소프트웨어 개발자이며 PERL, PHP 및 VBScript와 같은 스크립팅 언어에서 일하고 있습니다.

이 가이드의 요점은 내가 배울 때 배우게 될 것이며 내가 데리러 올 모든 정보는 내가 여러분에게 전달할 것입니다.

시작하기

KSH와 CSH에 비해 BASH를 사용하는 장점과 다른 유형의 쉘 을 설명하는 것과 같이 내가 당신에게 즉시 전달할 수있는 많은 이론이 분명히 있습니다.

새로운 것을 배울 때 대부분의 사람들은 뛰어 들기를 원하고 실용적인 교훈으로 시작하기를 염두에두고 저는 지금 당신이 중요하지 않은 퀴즈로 당신을 지루하게하지 않을 것입니다.

이 안내서에 필요한 것은 텍스트 편집기와 BASH (대부분의 Linux 배포판의 기본 쉘)를 실행하는 터미널입니다.

텍스트 편집기

필자가 읽은 다른 가이드에서는 명령의 색상 코딩을 포함하는 텍스트 편집기가 필요하고 권장되는 편집기는 VIM 또는 EMACS 임을 제안했습니다.

색상 코드는 입력 할 때 명령을 강조하므로 좋지만 초보자에게는 한 줄의 코드를 작성하지 않고 처음 몇 주 동안 VIM 및 EMACS를 배울 수 있습니다.

두 가지 중에서 EMACS를 선호하지만 정직하기 위해 nano , gedit 또는 leafpad와 같은 간단한 편집기를 사용하는 것을 선호합니다.

자신의 컴퓨터에 스크립트를 작성하고 있다면 그래픽 환경에 항상 액세스 할 수 있다는 것을 알고 있다면 자신에게 가장 적합한 편집기를 선택할 수 있으며 GEdit과 같은 그래픽이거나 터미널에서 직접 실행되는 편집기 일 수 있습니다 나노 또는 vim과 같은.

이 가이드의 목적을 위해 대부분의 Linux 배포본에 네이티브 방식으로 설치된 nano를 사용할 예정이므로 액세스 할 수 있습니다.

터미널 창 열기

Linux Mint 또는 Ubuntu와 같은 그래픽 데스크탑과 함께 Linux 배포판을 사용하는 경우 CTRL + ALT + T를 눌러 터미널 창을 열 수 있습니다.

귀하의 스크립트를 넣을 곳

이 자습서에서는 스크립트를 홈 폴더 아래의 폴더에 넣을 수 있습니다.

터미널 창에서 다음 명령을 입력하여 홈 폴더에 있는지 확인하십시오.

cd ~

cd 명령은 change 디렉토리를 나타내며 물결표 (~)는 홈 폴더의 바로 가기입니다.

다음 명령을 입력하여 올바른 위치에 있는지 확인할 수 있습니다.

pwd

pwd 명령은 디렉토리 트리에있는 현재 작업 디렉토리를 알려줍니다. 제 경우에는 / home / gary를 반환했습니다.

이제 분명히 홈 폴더에 스크립트를 넣지 않으려 고하므로 다음 명령을 입력하여 scripts라는 폴더를 만듭니다.

mkdir 스크립트

다음 명령을 입력하여 새 스크립트 폴더로 변경하십시오.

CD 스크립트

첫 번째 스크립트

첫 번째 프로그램이 단순히 "Hello World"라는 단어를 출력하도록 프로그래밍하는 방법을 배우는 것은 습관적입니다.

스크립트 폴더에서 다음 명령을 입력하십시오.

nano helloworld.sh

이제 nano 창에 다음 코드를 입력하십시오.

#! / bin / bash echo "hello world"

Ctrl + O를 눌러 파일을 저장하고 CTRL + X를 눌러 nano를 종료합니다.

스크립트 자체는 다음과 같이 구성됩니다.

#! / bin / bash는 인터프리터와 운영 체제가 파일을 처리하는 방법을 알기 때문에 작성하는 모든 스크립트의 맨 위에 포함되어야합니다. 기본적으로 그걸 넣고 왜 그렇게하는지 잊어 버리십시오.

두 번째 줄에는 echo라는 단일 명령이 있으며 바로 뒤에 나오는 텍스트를 출력합니다.

두 개 이상의 단어를 표시하려면 단어 주위에 큰 따옴표 ( ")를 사용해야합니다.

이제 다음 명령을 입력하여 스크립트를 실행할 수 있습니다.

sh helloworld.sh

"안녕하세요 세상"이라는 단어가 나타납니다.

스크립트를 실행하는 또 다른 방법은 다음과 같습니다.

./helloworld.sh

직접 터미널에서 해당 명령을 실행하면 권한 오류가 발생합니다.

이 방법으로 스크립트를 실행할 권한을 부여하려면 다음을 입력하십시오.

sudo chmod + x helloworld.sh

그래서 실제로 무슨 일이 일어 났습니까? 왜 권한을 변경하지 않고 sh helloworld.sh를 실행할 수 있었지만 ./helloworld.sh를 실행하면 문제가 발생 했습니까?

첫 번째 방법은 helloworld.sh를 입력으로 사용하여 bash 인터프리터를로드하고 수행 할 작업을 수행합니다. bash 인터프리터는 이미 실행 권한이 있으며 스크립트에서 명령을 실행하기 만하면됩니다.

두 번째 방법은 운영 체제가 스크립트로 수행 할 작업을 수행 할 수 있도록하므로 실행을 위해서는 실행 가능 비트가 필요합니다.

위의 스크립트는 괜찮 았지만 따옴표를 표시하려면 어떻게됩니까?

이것을 달성하는 다양한 방법이 있습니다. 예를 들어 다음과 같이 인용 부호 앞에 백 슬래시를 넣을 수 있습니다.

echo \ "hello world \"

이렇게하면 "hello world"출력이 생성됩니다.

그래도 잠시 기다려주세요. \ "hello world \"를 표시하려면 어떻게해야합니까?

그럼 이스케이프 문자도 이스케이프 처리 할 수 ​​있습니다.

echo \\ "\"hello world \\ "\"

이렇게하면 \ "hello world \"출력이 생성됩니다.

이제 나는 네가 생각하는 것을 알고있다. 하지만 정말 \\ "\"hello world \\ "\"를 표시하고 싶습니다.

이러한 모든 이스케이프 문자에 에코를 사용하면 매우 어리석은 일이 발생할 수 있습니다. printf라는 대체 명령을 사용할 수 있습니다.

예 :

printf '% s \ n' '\\ "\"hello world \\ "\"'

표시하려는 텍스트는 작은 따옴표로 묶습니다. printf 명령은 스크립트에서 텍스트를 출력합니다. % s는 문자열을 표시하고 \ n은 새 행을 출력 함을 의미합니다.

개요

우리는 부분적으로 많은 부분을 실제로 다루지는 못했지만, 첫 번째 스크립트를 작성했으면 좋겠다.

다음 부분에서는 다양한 색상으로 텍스트를 표시하고 입력 매개 변수, 변수를 처리하고 코드를 주석 처리하는 hello world 스크립트 개선에 대해 살펴 보겠습니다.