Bash 스크립트에서 인수 처리

LinuxLinuxBeginner
지금 연습하기

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

이 챌린지에서는 명령줄 인수를 처리하는 bash 스크립트를 만들 것입니다. 이 스크립트는 명령줄 인수 처리, 특수 변수 사용, 프로세스 정보 표시 등 bash 스크립팅의 핵심 개념을 보여줍니다. 이 작업은 유연하고 유익한 명령줄 도구를 만들어야 하는 시스템 관리자 및 개발자에게 필수적입니다.

환경

LabEx 는 시험 환경을 시뮬레이션하기 위해 Red Hat Universal Base Image 9 (UBI9) 를 사용합니다. 실제 RHCSA 시험 환경과 동일하지 않을 수 있지만, 여러분이 직면하게 될 작업들을 잘 나타냅니다.

환경에는 두 명의 사용자가 있습니다.

  • labex: sudo 권한이 있는 표준 사용자, 비밀번호: labex.
  • root: 시스템 관리자, 비밀번호: redhat.

이 챌린지에는 실제 시험 문제와 함께 설명, 요구 사항 및 작업 완료를 확인하는 데 도움이 되는 자동화된 검증 스크립트가 포함되어 있습니다. RHCSA 시험에서 다루는 지식 영역을 효과적으로 시뮬레이션합니다.

이것은 챌린지입니다. 실험 (Lab) 과 달리, 학습을 위해 실험의 단계를 따르는 것이 아니라, 독립적으로 챌린지 작업을 완료해야 합니다.챌린지는 일반적으로 조금 어렵습니다. 어려움을 겪었다면, Labby 와 논의하거나 해결책을 확인할 수 있습니다. 과거 데이터에 따르면, 이것은 초급 레벨의 챌린지이며 통과율은 97.89%입니다.학습자들로부터 96%의 긍정적인 리뷰율을 받았습니다.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL shell(("Shell")) -.-> shell/VariableHandlingGroup(["Variable Handling"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) shell(("Shell")) -.-> shell/FunctionsandScopeGroup(["Functions and Scope"]) rhel(("Red Hat Enterprise Linux")) -.-> rhel/RHELGroup(["RHEL"]) shell/VariableHandlingGroup -.-> shell/variables_usage("Variable Usage") shell/VariableHandlingGroup -.-> shell/param_expansion("Parameter Expansion") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") shell/FunctionsandScopeGroup -.-> shell/func_def("Function Definition") rhel/RHELGroup -.-> rhel/file_move("Move File") rhel/RHELGroup -.-> rhel/file_create("Create File") subgraph Lab Skills shell/variables_usage -.-> lab-588272{{"Bash 스크립트에서 인수 처리"}} shell/param_expansion -.-> lab-588272{{"Bash 스크립트에서 인수 처리"}} linux/chmod -.-> lab-588272{{"Bash 스크립트에서 인수 처리"}} shell/func_def -.-> lab-588272{{"Bash 스크립트에서 인수 처리"}} rhel/file_move -.-> lab-588272{{"Bash 스크립트에서 인수 처리"}} rhel/file_create -.-> lab-588272{{"Bash 스크립트에서 인수 처리"}} end

Bash 스크립트 생성 및 구성

이제 전달된 인수에 대한 정보를 처리하고 표시하는 bash 스크립트를 만들어 보겠습니다.

작업

  • /home/labex/ 디렉토리에 argts.sh라는 bash 스크립트를 생성합니다.
  • 스크립트를 실행 가능하게 만듭니다.
  • 다음 정보를 표시하도록 스크립트를 구현합니다.
    • 제공된 인수의 총 개수
    • 첫 번째 인수의 값
    • 스크립트의 PID (Process ID)
    • 제공된 모든 인수

요구 사항

  • 스크립트는 /home/labex/argts.sh에 생성되어야 합니다.
  • 스크립트는 올바른 shebang 라인: #!/bin/bash를 가져야 합니다.
  • 스크립트는 실행 가능해야 합니다.
  • 스크립트는 필요한 정보를 표시하기 위해 적절한 bash 특수 변수를 사용해야 합니다.
  • 출력은 등호로 된 헤더 라인으로 명확하게 형식화되어야 합니다.

예시

스크립트가 인수를 사용하여 실행될 때 다음과 유사한 출력을 생성해야 합니다.

$ /home/labex/argts.sh one two three
===========================
The total count of the supp argts: 3
The value of the first arg is: one
The PID of the script is : 12345
All the argts: one two three
✨ 솔루션 확인 및 연습

요약

이 챌린지에서는 명령줄 인수에 대한 정보를 처리하고 표시하는 bash 스크립트를 만들었습니다. 이 연습은 특수 변수 ($#, $1, $$, $*) 에 액세스하고, 실행 가능한 스크립트를 생성하며, 출력을 형식화하는 등 필수적인 bash 스크립팅 개념을 보여줍니다. 이러한 기술은 유연한 명령줄 도구를 만들고 사용자 입력을 효과적으로 처리해야 하는 시스템 관리자 및 개발자에게 매우 중요합니다.

OSZAR »