Verarbeiten von Argumenten in Bash-Skripten

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In dieser Herausforderung werden Sie ein Bash-Skript erstellen, das Befehlszeilenargumente verarbeitet. Dieses Skript wird Schlüsselkonzepte in der Bash-Skriptprogrammierung demonstrieren, einschließlich der Verarbeitung von Befehlszeilenargumenten, der Verwendung spezieller Variablen und der Anzeige von Prozessinformationen. Diese Aufgabe ist für Systemadministratoren und Entwickler von wesentlicher Bedeutung, die flexible und informativ gestaltete Befehlszeilentools erstellen müssen.

Umgebung

LabEx verwendet das Red Hat Universal Base Image 9 (UBI9), um die Prüfungsumgebung zu simulieren. Sie ist möglicherweise nicht identisch mit der tatsächlichen RHCSA-Prüfungsumgebung, bietet jedoch eine gute Vorstellung von den Aufgaben, auf die Sie stoßen werden.

Es gibt zwei Benutzer in der Umgebung:

  • labex: Ein Standardbenutzer mit sudo-Rechten, Passwort: labex.
  • root: Der Systemadministrator, Passwort: redhat.

Die Herausforderung enthält echte Prüfungsfragen sowie Erklärungen, Anforderungen und automatisierte Überprüfungsskripte, um Ihnen zu helfen, die Aufgabe als abgeschlossen zu bestätigen. Sie simuliert effektiv die Wissensbereiche, die in der RHCSA-Prüfung abgedeckt werden.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL shell(("Shell")) -.-> shell/FunctionsandScopeGroup(["Functions and Scope"]) shell(("Shell")) -.-> shell/VariableHandlingGroup(["Variable Handling"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) 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") subgraph Lab Skills shell/variables_usage -.-> lab-416107{{"Verarbeiten von Argumenten in Bash-Skripten"}} shell/param_expansion -.-> lab-416107{{"Verarbeiten von Argumenten in Bash-Skripten"}} linux/chmod -.-> lab-416107{{"Verarbeiten von Argumenten in Bash-Skripten"}} shell/func_def -.-> lab-416107{{"Verarbeiten von Argumenten in Bash-Skripten"}} end

Erstellen und Konfigurieren des Bash-Skripts

Erstellen wir ein Bash-Skript, das Informationen über die an es übergebenen Argumente verarbeitet und anzeigt.

Aufgaben

  • Erstellen Sie ein Bash-Skript mit dem Namen argts.sh im Verzeichnis /home/labex/
  • Machen Sie das Skript ausführbar
  • Implementieren Sie das Skript, um die folgenden Informationen anzuzeigen:
    • Gesamtanzahl der übergebenen Argumente
    • Wert des ersten Arguments
    • PID (Prozess-ID) des Skripts
    • Alle übergebenen Argumente

Anforderungen

  • Das Skript muss unter /home/labex/argts.sh erstellt werden
  • Das Skript muss die korrekte Shebang-Zeile enthalten: #!/bin/bash
  • Das Skript muss ausführbar sein
  • Das Skript muss geeignete spezielle Bash-Variablen verwenden, um die erforderlichen Informationen anzuzeigen
  • Die Ausgabe sollte mit einer Kopfzeile aus Gleichheitszeichen klar formatiert sein

Beispiel

Wenn das Skript mit Argumenten ausgeführt wird, sollte es eine Ausgabe ähnlich der folgenden erzeugen:

$ /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
✨ Lösung prüfen und üben

Zusammenfassung

In dieser Herausforderung haben Sie ein Bash-Skript erstellt, das Informationen über Befehlszeilenargumente verarbeitet und anzeigt. Diese Übung demonstriert essentielle Konzepte der Bash-Skriptprogrammierung wie den Zugriff auf spezielle Variablen ($#, $1, $$, $*), das Erstellen ausführbarer Skripte und die Formatierung von Ausgaben. Diese Fähigkeiten sind von entscheidender Bedeutung für Systemadministratoren und Entwickler, die flexible Befehlszeilentools erstellen und Benutzereingaben effektiv verarbeiten müssen.