Bash-Skripte sind ein leistungsfähiges Werkzeug, um Aufgaben auf einem Linux-Betriebssystem zu automatisieren. Es kann jedoch manchmal notwendig sein, während der Ausführung eines Skripts direkt vom Benutzer Eingaben zu erhalten. Zum Beispiel möchten Sie den Benutzer vielleicht nach dem Namen der zu verarbeitenden Datei fragen oder nach einem Passwort fragen, um auf die geschützten Daten zuzugreifen.
Es gibt mehrere Möglichkeiten, auf Tastatureingaben in Bash-Skripten zu warten. Eine der einfachsten Methoden ist die Verwendung des Befehls "read". Mit diesem Befehl können Sie die Benutzereingabe lesen und in einer Variablen speichern. Sie können an der Eingabeaufforderung eingeben:
In diesem Beispiel wird der Benutzer aufgefordert, etwas über die Tastatur einzugeben, und seine Eingabe wird in der Variablen "name" gespeichert. Sie können diese Variable im folgenden Skriptcode verwenden oder die erforderlichen Operationen damit durchführen.
Ein wichtiger Aspekt bei der Verwendung des Befehls "read" sind seine Parameter. Sie können beispielsweise eine Variable angeben, in der die Eingabe gespeichert werden soll, oder eine Eingabeaufforderung für den Benutzer festlegen. Sie können auch ein Timeout für das Warten auf die Eingabe festlegen und gültige Zeichen für die Eingabe festlegen.
Möglichkeiten zum Warten auf Tastatureingaben in einem Bash-Skript
Bash-Skripte erfordern oft eine Eingabe von Daten vom Benutzer. Betrachten Sie in diesem Artikel mehrere Möglichkeiten, auf die Tastatureingabe zu warten, und geben Sie Codebeispiele an, die Ihnen dabei helfen, dies in Ihrem Szenario zu tun.
Methode 1: Befehl read
Die einfachste und gebräuchlichste Möglichkeit, auf Tastatureingaben in einem Bash-Skript zu warten, ist die Verwendung des Befehls read. Dieser Befehl liest eine Textzeile von der Tastatur und speichert sie in einer Variablen.
Im Folgenden finden Sie ein Beispiel für die Verwendung des Befehls read:
echo "Geben Sie Ihren Namen ein:" read name echo "Hallo, $name!"
In diesem Beispiel wird der Benutzer aufgefordert, seinen Namen einzugeben. Nachdem Sie einen Namen eingegeben haben, wird er in der Variablen name gespeichert und anschließend mit diesem Namen eine Begrüßung angezeigt.
Anmerkung: Standardmäßig liest der Befehl read die Daten vor dem Zeilenumbruch. Wenn Sie nur ein Wort zählen müssen, können Sie die Option -r verwenden:
Methode 2: select-Befehl
Wenn Sie dem Benutzer eine Auswahl aus mehreren Optionen zur Verfügung stellen müssen, können Sie den Befehl select verwenden. Dieser Befehl ermöglicht es dem Benutzer, eine der bereitgestellten Optionen auszuwählen, indem er sie in einer Listenansicht anzeigt.
Hier ist ein Beispiel für die Verwendung des Befehls select:
select option in "Option 1" "Option 2" "Option 3" do echo "Sie haben ausgewählt: $option" done
In diesem Beispiel wird der Benutzer aufgefordert, eine der Optionen "Option 1", "Option 2" oder "Option 3" auszuwählen. Nachdem der Benutzer eine Option ausgewählt hat, wird eine Meldung mit der ausgewählten Option angezeigt.
Methode 3: Befehl read mit der Option -p
Wenn Sie dem Benutzer eine einfache Frage mit einer kleinen Beschreibung geben müssen, können Sie den Befehl read mit der Option -p verwenden. Mit dieser Option können Sie eine Eingabeaufforderung angeben, die vor der Eingabe angezeigt wird.
Hier ist ein Beispiel für die Verwendung des Befehls read mit der Option -p:
read -p "Was ist dein Lieblingstier? " animal echo "Dein Lieblingstier ist $animal"
In diesem Beispiel wird der Benutzer aufgefordert, sein Lieblingstier einzugeben, wenn "Welches ist Ihr Lieblingstier?". Nachdem Sie eine Antwort eingegeben haben, wird sie in der animal-Variablen gespeichert und dann wird eine Nachricht mit dieser Antwort ausgegeben.
Mit den oben beschriebenen Methoden können Sie effektiv auf Tastatureingaben in Ihrem Bash-Skript warten. Verwenden Sie sie in Kombination mit anderen Befehlen und Bedingungen, um interaktive und dynamische Skripts zu erstellen.