>  기사  >  운영 및 유지보수  >  Linux 시스템에서 쉘 프로그래밍을 완전히 마스터하세요

Linux 시스템에서 쉘 프로그래밍을 완전히 마스터하세요

WBOY
WBOY앞으로
2022-01-18 17:09:452776검색

이 기사는 Linux 시스템의 쉘 프로그래밍에 대한 지식을 제공합니다. 쉘 프로그래밍을 배우기 전에 먼저 쉘이 무엇인지, 쉘 스크립트가 무엇인지 알아야 합니다.

Linux 시스템에서 쉘 프로그래밍을 완전히 마스터하세요

1. Shell이란 무엇입니까

1. Shell 프로그래밍을 배우기 전에 먼저 Shell이 ​​무엇인지 알아야 합니다. Shell은 명령 해석기라고도 할 수 있는 응용 프로그램입니다. 사용자 및 Linux 커널은 그래픽 인터페이스에서의 사용자 작업이나 터미널에 입력된 명령을 Linux 커널에 전달할 수 있으며 Linux 커널은 사용자 작업을 완료하기 위해 다양한 하드웨어 및 기타 리소스를 예약할 수 있습니다.

리눅스 커널이란 무엇입니까? 리눅스 운영체제에서 특정 사용자 기능을 완성하기 위해 컴퓨터 하드웨어를 실제로 작동시킬 수 있는 부분을 리눅스 시스템의 커널이라고 부른다. 사용자가 Linux 시스템을 사용하는 경우 커널을 직접 조작할 수 없고 Shell을 통해 간접적으로 커널을 조작하게 됩니다. 셸은 커널의 일부가 아니라 Linux 커널 외부에서 개발된 응용 프로그램으로, 수신된 사용자 마우스 클릭 작업이나 입력 명령을 커널에 전달하고 커널은 지정된 작업을 완료하도록 하드웨어를 예약합니다. 이렇게 하면 사용자가 커널을 직접 조작할 필요가 없고, Shell을 통해 간접적으로 커널을 조작하게 되어 커널이 외부에 직접 노출되지 않으므로 커널의 보안이 보장되고 사용자 조작이 단순화됩니다.程SHELL의 애플리케이션은 전원이 켜진 상태에서 시작됩니다. Linux 시스템을 작동할 때 우리 모두는 셸을 통해 직간접적으로 Linux 커널을 작동합니다. 실제로 그래픽 인터페이스가 나오기 전에는 사용자들이 터미널이나 콘솔을 통해 쉘(Shell) 애플리케이션을 직접 호출한 후 명령어를 입력해 리눅스 시스템을 조작했다. 사용자가 콘솔이나 터미널에 표시되는 $ 및 #는 실제로 Shell 명령 프롬프트입니다. 이는 사용자가 Shell 프로그램에 진입했으며 Shell을 통해 Linux 커널을 작동하려면 명령만 입력하면 됨을 나타냅니다. 단지 루트 사용자가 로그인하면 $가 표시되고, 일반 사용자가 로그인하면 #이 표시되는 것뿐입니다.

또한 Shell이 ​​사용자 작업을 커널에 전달하는 과정은 커널이 제공하는 API 인터페이스를 호출하는 과정입니다. 예를 들어, 사용자는 그래픽 인터페이스나 터미널 명령줄에서 파일을 여는 작업을 수행하고 사용자의 작업을 받은 후 쉘은 커널에서 제공하는 해당 기능을 호출한 다음 커널은 하드웨어 리소스를 예약하여 작업을 완료합니다. 사용자의 조작.

2. Common Shell

우리는 Linux가 전 세계 여러 조직 또는 개인이 공동으로 개발한 오픈 소스 운영 체제라는 것을 알고 있습니다. 각 조직 또는 개인은 일부 기능을 담당하고 최종적으로 함께 결합됩니다. 우리가 지금 사용하는 리눅스를 형성하세요. 이러한 이유로 이러한 다양한 조직이나 개인은 Linux 시스템에서 사용할 수 있는 응용 프로그램을 개발하게 되며, 각 응용 프로그램에는 고유한 장점과 단점이 있습니다. 사용합니다. Shell은 이러한 응용 프로그램이므로 다양한 버전의 Shell이 ​​있습니다. 현재 대부분의 Linux 배포판에서 사용되는 기본 Shell은 bash Shell입니다. 기타 일반적인 Shell 버전은 다음과 같습니다.

                               (1)

sh:

sh의 전체 이름은 Bourne Shell이며, 이는 UNIX의 표준 쉘입니다. sh는 최초의 인기 쉘이었습니다. (2)

csh:

이 쉘의 구문은 C 언어와 다소 유사하므로 C 쉘, 줄여서 csh라고 합니다. (3) tcsh: tcsh는 csh의 향상된 버전으로, 명령 완성 기능을 추가하고 더욱 강력한 구문 지원을 제공합니다. +       (4)

ash:

리소스를 거의 차지하지 않는 경량 셸로, 메모리 부족 환경에서 실행하기에 적합하며 bash 셸과 완벽하게 호환됩니다.

                 (5) bash: bash 쉘은 GNU 조직에서 개발되었으며 sh 쉘과의 호환성을 유지하며 다양한 Linux 배포판에 구성되는 기본 쉘입니다.

3. Linux 시스템의 Shell 확인

Linux 시스템에서 기본 Shell은 일반적으로 bash Shell입니다. Shell은 일반적으로 /bin或者/user/bin目录下,而当前 Linux 系统可用的 Shell 都记录在/etc/shells 파일에 배치되는 애플리케이션입니다.

(1) 현재 시스템에서 사용 가능한 셸을 보려면 [cat -n /etc/shells] 명령을 실행합니다.

(2) 현재 시스템에서 기본적으로 사용하는 셸을 보려면 다음을 실행합니다. command [echo $SHELL]:

(3) 각 사용자가 사용하는 Shell을 확인하고 [cat -n /etc/passwd]:

명령을 실행합니다. 2. Shell 프로그래밍이란 무엇입니까?

1. Shell 프로그래밍 언어란

우리는 Shell이 ​​응용 프로그램이라는 것을 이미 알고 있으며, 이 응용 프로그램은 사용자 작업 명령을 Linux 커널에 전달할 수 있을 뿐만 아니라 프로그래밍도 지원합니다. Shell은 프로그래밍 언어 구문 집합에 해당하며, 이 언어 집합을 Shell 프로그래밍 언어 또는 Shell 스크립팅 언어라고 합니다. Shell 프로그래밍 언어는 JavaScript 언어와 같은 스크립팅 언어이며 컴파일이 필요하지 않으며 해당 해석기는 Shell 애플리케이션 자체입니다.说 우리가 작업에서 흔히 말하는 쉘은 쉘 애플리케이션이 아닌 쉘 스크립트 언어를 가리키는 경우가 대부분입니다.

2. 쉘 스크립트란

쉘 스크립트 언어를 사용할 때, 리눅스 시스템의 다른 운영 명령어(ls, grep 등)와 함께 사용할 수 있고, 쉘 스크립트 언어를 사용할 수도 있습니다. 특정 기능에 대해 확장자가 .sh인 텍스트를 다른 명령과 결합하여 스크립트 언어로 작성하는 것을 쉘 스크립트라고 합니다.

3. 첫 번째 Shell 스크립트

우리는 이미 Shell 버전이 다양하고 각 버전에서 지원하는 Shell 스크립트 언어 구문이 다를 수 있다는 것을 알고 있으며 아래의 모든 Shell 스크립트 예는 이 버전의 배쉬 쉘.录 (1) 루트 디렉터리에 새 hello.sh 스크립트를 생성합니다: [vim Hello.sh]

(2) 그런 다음 다음을 입력합니다:

#!/bin/bash     
echo "Hello World "

첫 번째 줄:#! 이 스크립트는 어떤 셸 버전을 인터프리터로 사용해야 합니까? 바로 다음의 /bin/bash가 셸의 경로이므로 [#!/bin/bash]는 bin 디렉터리의 bash 셸을 다음과 같이 사용하도록 선언하는 것을 의미합니다. ;

두 번째 줄: [echo "Hello World "]는 출력 텍스트 Hello World!를 의미합니다. ;

(3) 그런 다음 저장하고 종료합니다: [!wq];

(4) 이런 식으로 Hello World!를 출력할 수 있습니다. 스크립트가 완료되었습니다.

추가 설명:

위에서 Shell 프로그램은 Shell 스크립트 언어의 인터프리터라고 말씀드렸는데, 터미널을 사용할 때(Xshell을 통해 Linux 서버의 터미널에 연결하는 등), 실제로 Shell에 들어갔습니다. 이 프로그램의 경우 실행하기 전에 스크립트에 작성할 필요 없이 실제로 Shell 프로그래밍 언어로 된 코드를 터미널에 직접 입력하여 실행할 수 있습니다. 예를 들어, 변수를 선언하고 다음 변수의 값을 인쇄합니다.

            (1) 코드를 입력합니다: [name=Zhang San], 이는 변수 이름이 정의되고 해당 값이 Zhang San이라는 의미입니다. ) 코드를 입력하세요.  [ echo $name]은 변수 이름의 값을 인쇄한다는 의미입니다.

물론 이 방법은 한두 문장의 코드만으로 간단한 논리를 실행하는 데에만 적합합니다. 대부분의 경우 여전히 .sh 스크립트에 Shell 프로그래밍 코드를 작성한 다음 실행합니다.

4. 쉘 스크립트 실행 방법

위에서 Hello World!를 출력할 수 있는 스크립트를 작성했습니다. Shell 스크립트가 실행되었으니 이제 Hello.sh 스크립트를 실행해야 합니다. Shell 스크립트를 실행하는 방법에는 두 가지가 있습니다.

첫 번째 방법: .sh 텍스트 실행 권한을 부여한 다음 텍스트를 실행합니다.

(1) 먼저 Shell 스크립트 실행 권한을 부여합니다. [chmod +x Hello.sh];

( 2) 직접 실행 : 절대 경로 : [/hello.sh] 또는 상대 경로 : [./ hello.sh]

주의, 여기에서 실행 시 상대 경로를 사용한다면 다음과 같이 시작해야 합니다. . 현재 디렉터리. 그렇지 않으면 시스템이 스크립트를 찾을 수 없어 실행이 실패하게 됩니다. ㅋㅋㅋ                                                        out out out out out out outgoing out to           out out out of s to  under s to 's through ‐ to ‐‐‐‐‐‐‐를 Bash 쉘 스크립트에 전달합니다. 매개변수: 그냥 이를 매개변수로 Shell에 전달합니다: [/bin/bash Hello.sh] 또는 [bash Hello.sh]

(2) 이 방법을 사용하여 Shell 스크립트를 실행할 때, 먼저 인터프리터로 사용할 셸 버전을 한 줄로 선언할 필요가 없습니다. 즉, 이 코드 줄[#!/bin/bash]이 필요하지 않습니다. 명령에서 스크립트를 실행하기 때문입니다. /bin/bash Hello.sh], 인터프리터로 사용할 Shell 버전이 이미 지정되어 있습니다. ㅋㅋㅋ                        실행 방법에 차이가 있습니다.

관련 추천: "

Linux 비디오 튜토리얼

"

위 내용은 Linux 시스템에서 쉘 프로그래밍을 완전히 마스터하세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제