So fordern Sie nach Benutzereingaben im Shell -Skript auf

So fordern Sie nach Benutzereingaben im Shell -Skript auf

Jeder möchte, dass sein Scripting interaktiver ist, insbesondere Benutzer. Benutzer möchten das Gefühl haben, mit einer modernen Software zu arbeiten, anstatt etwas zusammengeschustert aus alten Batch-Dateien und kryptischen Einzeilern. Sie wollen auch ein Selbstdokumentationsskript, das so wenig Dokumentation wie möglich erfordert. Wenn diese Dinge so klingen, worauf Sie gewartet haben, dann lesen Sie weiter! Ein Shell -Skript ist ein perfekter Ort für die Benutzereingabe, da es sich um ein so einfaches Programmierkonstrukt handelt. Es besteht im Wesentlichen aus einer Reihe von Befehlen, die ihre eigenen Namen erhalten haben

Der Befehl Linux Read bietet Ihnen die Option, die Benutzereingabe aufzurufen. Sobald die von Benutzer bereitgestellten Eingabetiten eingegeben haben, lieferte der Befehlsspeicher die Eingabe für eine Variable. Das kann später in den Shell -Skripten verwendet werden. In diesem Tutorial lernen Sie. Helfen Sie auch Ihnen beim Akzeptieren von Passwörtern von Benutzern in versteckten Zeichen.

Benutzereingaben in Bash nehmen

Beim Schreiben eines Shell -Skripts ist es möglicherweise hilfreich, den Benutzer zur Eingabe fordern. Auf diese Weise können Sie einen bestimmten Wert erhalten, den Sie in Ihrem Skript verwenden können, wie Sie es für richtig halten. Außerdem können Sie Ihr Skript interaktiv machen, indem Sie den Benutzer auffordern, Werte wie Verzeichnisse und Dateinamen einzugeben.

In Bash können Sie den Benutzer mit einem Readbefehl auffordern.

Lesen Sie my_var  

Hier "lesenIst der Linux -Befehl und “my_varIst die Variable, die den Eingangswert speichert.

Drücken Sie die Eingabetaste nach dem Eingeben des obigen Befehls. Sie werden eine leere Linie ohne Eingabeaufforderung sehen. Es bedeutet, dass die Schale auf Ihre Eingabe wartet. Geben Sie einen Text ein und klicken Sie auf die Schaltfläche Eingabetaste. Sie werden die Eingabeaufforderung erneut finden.

Stellen Sie nun sicher, dass der Eingabewert in einer definierten Variablen gespeichert ist. Um dies zu bestätigen, drucken Sie den Variablenwert mit dem Echo -Befehl aus.

echo $ my_var 

Es ist nicht erforderlich, einen Datentyp für Variablen zu definieren. Shell passt den Typ automatisch basierend auf der Benutzereingabe an.

Sie können auch eine Nachricht an der Eingabeaufforderung für Benutzerkomfort hinzufügen. Es sieht aus wie das:

Lesen Sie -p "Wie heißt Ihr Name?? "my_var  

In diesem Beispiel folgt dem Befehl Read a -P. Dadurch wird das Skript angewiesen, den Benutzer zur Eingabe fordern. Der Text in den Zitaten nach dem -P wird dem Benutzer angezeigt, wenn er aufgefordert wird. Durch die Verwendung von Lesen in Ihren Shell -Skripten können Sie den Benutzer nach Eingabe fordern und die Ergebnisse in einer Variablen speichern. Sie können auch LEAK verwenden, um mithilfe einer Variablen einen Wert zu lesen, um den Benutzer für einen anderen Wert aufzufordern. Sie können Lesen für viele Dinge verwenden, aber es ist am nützlichsten für das Lesen von Benutzereingaben.

Shell -Skript, um die Benutzereingabe aufzurufen

Schreiben Sie ein Beispiel -Shell -Skript, um die Benutzereingabe aufzurufen und in einer Variablen zu speichern. Stellen Sie sicher, dass Sie eine richtige Nachricht auf dem Bildschirm drucken, bevor Sie die Eingabe fordern. Speichern Sie den Eingangswert in einer Variablen und drucken Sie ihn dann mit einer Begrüßungsnachricht aus.

Erstellen Sie eine neue Datei "Eingang.Sch" und schreiben Sie unten Drehbuch:

#!/bin/bash echo "Geben Sie Ihren Namen ein:" My_var echo lesen "Willkommen $ my_var!"
12345#!/bin/bash echo "Geben Sie Ihren Namen ein:" My_varecho lesen "Willkommen $ my_var!"

Speichern Sie Ihre Datei und schließen Sie sie.

CHMOD +X -Eingabe.Sch ./Eingang.Sch 

Im obigen Skript haben Sie festgestellt, dass die Eingabe in einer neuen Zeile aufgefordert wird. Um es besser zu machen, verwenden Sie die -P Option zum Drucken der Nachricht vor Eingabe mit dem Befehl read. Damit werden wir die erste Echo -Linie überspringen.

Bearbeiten Sie Ihr Skript und nehmen Sie die folgenden Änderungen vor.

#!/bin/bash read -p "Geben Sie Ihren Namen ein:" my_var echo "Willkommen $ my_var!"
1234#!/bin/bash read -p "Geben Sie Ihren Namen ein:" my_varecho "Willkommen $ my_var!"

Führen Sie erneut dasselbe Skript aus und sehen Sie die Ausgänge an:

./Eingang.Sch 

Der Ausgang ist selbsterklärend. Der eingegebene Wert wird in Variable gespeichert und druckt ihn dann aus.

So geben Sie ein Passwort in das Shell -Skript ein

Die Kennworteingabe sollte auf dem Bildschirm versteckt sein, ähnlich wie die Linux -Shell beim Einstellen eines Kennworts auf dem Bildschirm. Passwörter dürfen auf dem Bildschirm nicht sichtbar sein.

Der Befehl read liefert die Option Stille Modus mit "-S" Um die Eingabezeichen auf dem Bildschirm zu verbergen. Lassen Sie uns ein Beispielskript erstellen, um die Kennworteingabe vom Benutzer zu nehmen.

VIM-Eingabepass.Sch  

Fügen Sie das folgende Skript hinzu.

#!/bin/bash read -s -p "Geben Sie ein Passwort ein:" my_var echo "Ihr Passwort ist -$ my_var"
1234#!/bin/bash read -s -p "Geben Sie ein Passwort ein:" my_varecho "Ihr Passwort ist -$ my_var"

Speichern Sie die Datei und schließen Sie sie.

CHMOD +X-Eingangs-Pass.Sch ./Eingabepass.Sch 

Abschluss

Ein Shell -Skript ist ein perfekter Ort für die Benutzereingabe, da es sich um ein so einfaches Programmierkonstrukt handelt. Es besteht im Wesentlichen aus einer Reihe von Befehlen, die ihre eigenen Namen erhalten haben. Diese Anleitung hat Ihnen geholfen, die Benutzereingabe in Shell-Skripten zu verstehen. Darüber hinaus gibt Ihnen ein Beispiel für die Eingabe eines Passworts in das Shell -Skript.