Ho questo script bash che fondamentalmente avvia i server web e selenio con indicatore di avanzamento. Poiché ci vuole del tempo per avviare il server di selenio, sto controllando lo stato in un ciclo infinito.Disabilitare l'input dell'utente durante un loop infinito in bash
Il problema è che, mentre aspetto che si avvii, premo accidentalmente che i tasti vengano visualizzati sullo schermo e se il ciclo termina (va in time out) viene visualizzato anche nel prompt dei comandi.
voglio disattivare tutti gli input dell'utente (tranne i tasti di controllo naturalmente) mentre all'interno del ciclo:
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, ho pensato che ti disabilitare tutti eco avrei provato prima ... Grazie ... – madpoet
Questo non funziona esattamente. Disattiva solo l'eco. Tutto ciò che è dattilografato è ancora lì, solo invisibile. –
Sì. Voleva disabilitare la visualizzazione delle pressioni accidentali dei tasti, giusto? – Fazlin