Ich habe dieses Bash-Skript, das im Grunde startet das Web und Selenserver mit Fortschrittsanzeige. Da es etwas Zeit braucht, bis Selen Server startet, überprüfe ich den Status in einer Endlosschleife.Deaktivieren der Benutzereingabe während einer Endlosschleife in bash
Das Problem ist, während ich darauf warte, dass ich die Tasten versehentlich drücke, wird es auf dem Bildschirm angezeigt und wenn die Schleife endet (Zeitüberschreitung), wird es auch in der Eingabeaufforderung angezeigt.
Ich möchte alle Benutzereingaben deaktivieren (mit Ausnahme der Steuertasten natürlich), während in der Schleife:
start_selenium() {
echo -n "Starting selenium server"
java -jar ${selenium_jar} &> $selenium_log &
# wait for selenium server to spin up! (add -v for verbose output)
i=0
while ! nc -z localhost 4444; do
sleep 1
echo -n "."
((i++))
if [ $i -gt 20 ]; then
echo
echo -e $bg_red$bold"Selenium server connection timed out"$reset
exit 1
fi
done
}
Oh, ich dachte, es wird alle Echos deaktivieren Ich hätte es zuerst versucht ... Danke ... – madpoet
Dies funktioniert nicht genau. Es deaktiviert nur das Echo. Was immer getippt wird, ist immer noch da, nur unsichtbar. –
Ja. Er wollte die Anzeige von versehentlichen Tasten drücken, richtig? – Fazlin