Von einem Shell-Skript erforderlich sein, ich möchte den Benutzer zur Eingabe von Daten fragen, wie Datenbankname, Datenbankbenutzer usw.Wie Benutzer die Eingabe fragen, und das ist sollte
Wenn der Benutzer versehentlich die Enter-Taste drückt, Die Eingabe ist leer. Wie mache ich die Eingabe erforderlich? Wenn die Eingabe leer ist, stellt das Skript diese Frage erneut.
Mein aktuelles Skript, aber vielleicht funktioniert es nicht so, wie ich es erwartet hatte.
#!/bin/bash
# Clear terminal first
clear
echo -n "Your Database Name : "
read dbname
if [ "$dbname" = "" ]; then
echo "ANSWER CANNOT BE BLANK!"
echo -n "Your Database Name : "
read dbname
else
... another code here
Aber dies schließt nicht die Möglichkeit ausschließen, dass der Benutzer nicht versehentlich (oder vielleicht sogar absichtlich) drücken Sie die Enter-Taste –, wie viele, wenn sonst Bedingung muss ich machen?
Ok danke für deine Antwort: D + 1, ich versuche hehehe –
Gebrochen: wenn Benutzer Strg-D drückt, haben Sie eine leere Variable 'dbname'. –
@ gniourf_gniourf, ja. Es ist auch defekt, wenn Benutzer STRG-K drückt, dann Enter. Das ist nur eine einfache Antwort auf eine einfache Frage. Die Antwort mit "while true" funktioniert übrigens nicht im nicht-interaktiven Modus. Na und? Das OP passt die Schleife seinen Bedürfnissen an. –