Bash -Skript -Benutzereingabe

Bash -Skript -Benutzereingabe
Die Eingabe des Benutzers ist eine gemeinsame Aufgabe für jede Programmiersprache. Sie können Eingaben von einem Benutzer im Bash -Skript auf verschiedene Weise einnehmen. Im Bash -Skript wird ein Readbefehl verwendet, um Daten vom Benutzer zu entnehmen. Einzelne oder mehrere Daten können im Bash -Skript aufgenommen werden. In diesem Tutorial werden einige übliche Verwendungen des Readbefehls angezeigt.

Befehlsoption:

Möglichkeit Zweck
-P Es wird verwendet, um dem Benutzer vor der Eingabeaufforderung eine helfende Nachricht zu bieten.
-S Es wird verwendet, um den Benutzer unsichtbare Eingaben zu nehmen. Diese Option wird verwendet, um ein Passwort oder geheime Daten zu nehmen. Es heißt Silent Modus.
-T Es wird verwendet, um die Zeit in Sekunden zu setzen, um auf die Eingabe des Benutzers zu warten.
-N Es wird verwendet, um die Grenze von Eingabezeichen festzulegen.

Beispiel 1: Verwendung des Readbefehls ohne Variable

Der Befehl read kann ohne Variable verwendet werden. Der $ Antwort Variable wird verwendet, um die vom Benutzer durch den Befehl read ohne Variablen eingegebene Eingabe zu lesen. Erstellen Sie eine Bash -Datei mit dem folgenden Skript, um zu wissen, wie Sie den Befehl read ohne Variable verwenden können.

#!/Bin/Bash
Echo "Was ist deine Lieblingsprogrammiersprache??"
# Eingabe nehmen, ohne Variable zu definieren
lesen
# Drucken Sie den Eingangswert
echo "Ihre Antwort ist $ Antwort"

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.

Beispiel 2: Verwenden Sie den Befehl Simple Read

Erstellen Sie eine Bash -Datei mit dem folgenden Skript, um zu wissen, wie Sie den Befehl read mit einer Variablen verwenden. Nach dem Ausführen des Skripts wartet das Programm auf die Benutzereingabe. Wenn der Benutzer die Daten eingibt und die Eingabetaste drückt, werden die Daten in gespeichert die Antwort Variable. Der Wert der antworten Variable wird später gedruckt.

#!/Bin/Bash
echo -n "Was ist dein Lieblings Essen:"
# Zuweisen Sie einen Eingabewert in eine Variable
Antwort lesen
# Drucken Sie den Wert der Variablen
Echo "Oh! Sie mögen $ antwort!"

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.

Beispiel-3: Verwenden Sie den Befehl Read mit Optionen

Erstellen Sie eine Bash -Datei mit dem folgenden Skript, um zu wissen, wie Sie sowohl -P- als auch -s -Optionen zusammen im Bash -Skript verwenden. In diesem Beispiel wird der Benutzername und das Passwort vom Benutzer abgenommen und mit dem jeweiligen Wert verglichen, um den Benutzernamen und das Passwort zu überprüfen oder nicht.

#!/Bin/Bash
# Geben Sie Ihre Login -Informationen ein
Lesen Sie -p 'Benutzername:' Benutzer
Lesen Sie -sp 'Passwort:' Pass passieren
# Überprüfen Sie, ob der Benutzername und das Passwort gültig sind oder nicht
if (($ user == "admin" && $ pass == "12345"))
Dann
echo -e "\ nSuccessful Login"
anders
echo -e "\ nunsuccessful Login"
fi

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.

Beispiel-4: Verwenden Sie den Befehl read, um mehrere Eingänge zu nehmen

Die mehrfachen Eingänge können gleichzeitig mit dem Befehl read mit mehreren Variablennamen eingenommen werden. Im folgenden Beispiel werden in vier Variablen mit dem Befehl read vier Eingänge eingenommen.

#!/Bin/Bash
# Mehrere Eingänge nehmen
Echo "Typ vier Namen Ihrer bevorzugten Programmiersprachen"
Lesen Sie LAN1 LAN2 LAN3 LAN4
echo "$ lan1 ist deine erste Wahl"
echo "$ lan2 ist deine zweite Wahl"
echo "$ lan3 ist deine dritte Wahl"
echo "$ lan4 ist deine vierte Wahl"

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.

Beispiel-5: Verwenden Sie den Befehl read mit der Zeitlimit

Erstellen Sie eine Bash-Datei mit dem folgenden Skript, um zeitlich eingeschränkte Eingaben vom Benutzer zu nehmen. Hier wird die Zeit in Sekunden gezählt. Im folgenden Beispiel wartet das Programm 5 Sekunden auf die Eingabe des Benutzers. Wenn der Benutzer die Daten nicht innerhalb von 5 Sekunden eingeben kann, wird das Programm ohne Wert beendet.

#!/Bin/Bash
# Nehmen Sie die Eingabe mit Zeitlimit ein
Lesen Sie -t 5 -p "Geben Sie Ihre Lieblingsfarbe ein:" Farbe
# Drucken Sie den Eingangswert
Echo $ color

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Der Eingangswert wurde in der ersten Ausführung angegeben, und in der zweiten Ausführung wurde kein Eingaberwert innerhalb von 5 Sekunden angegeben.

Beispiel -6: Verwendung von Read -Befehl mit -noption

Erstellen Sie eine Bash -Datei mit dem folgenden Skript, um die Eingabe einer bestimmten Länge einzunehmen. Laut dem Skript kann der Benutzer maximal 15 Zeichen als Eingabe eingeben.

#!/Bin/Bash
Echo "Geben Sie Ihre Telefonnummer ein (maximal 15 Zeichen):"
# Nehmen Sie die Eingabe maximal 15 Zeichen lang
Lesen Sie -n 15 Telefon
# Fügen Sie eine neue Linie hinzu
Echo
# Drucken Sie den Eingangswert
Echo "Ihre Telefonnummer ist $ telefon"

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.

Beispiel-7: Überprüfung eines Aufnahmepfads ist Datei oder Verzeichnis

Erstellen Sie eine BASH -Datei mit dem folgenden Skript, um einen Pfadwert aus dem Terminal einzugeben, und überprüfen Sie, ob der Eingabepfad ein Verzeichnis oder eine Datei ist.

#!/Bin/Bash
# Nehmen Sie den Pfadwert aus der Eingabe
Lesen Sie -p "Geben Sie den gültigen Pfad ein:" Pfad
# Überprüfen Sie, ob die Eingabewerte ein Verzeichnis sind oder nicht
wenn [-d $ path]; Dann
Echo "$ path ist ein Verzeichnis."
# Die Eingabewerte überprüfen oder nicht
elif [-f "$ path"]; Dann
Echo "$ path ist eine Datei."
anders
Echo "Invalid Pad."
fi

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.

Beispiel-8: Initialisieren Sie das Array mit dem Befehl read

Die Array -Variable kann mithilfe des Befehls read deklariert und initialisiert werden. Erstellen Sie eine Bash -Datei mit dem folgenden Skript, um zu wissen, wie Sie ein Array erstellen und initialisieren, indem Sie den Befehl Read verwenden. Als nächstes werden alle Elemente des Arrays, das erste Element des Arrays, die ersten beiden Elemente und das letzte Element des Arrays gedruckt.

#!/Bin/Bash
Echo "Geben Sie fünf numerische Werte für das Array mit Raum ein:"
# Werte für das Array lesen
Lesen Sie -a myarr
# Alle Array -Werte drucken
echo $ myarr [@]
# Drucken Sie den ersten Wert des Arrays
echo $ myarr [0]
# Drucken Sie die ersten beiden Werte des Arrays
echo $ myarr [@]: 0: 2
# Drucken Sie den letzten Wert des Arrays
echo $ myarr [4]

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.

Abschluss:

In diesem Tutorial wurden verschiedene Verwendungen des Readbefehls gezeigt, indem mehrere Beispiele verwendet wurden, um den Bash -Benutzern zu helfen, die Verwendung dieses Befehls ordnungsgemäß zu kennen und auf ihr Skript anzuwenden.