Ich möchte die Ausgabe großer Befehle verlangsamen, wie eine Diashow mit z. B. automatischer Verzögerung von 500 ms zwischen den einzelnen Bildläufen. Was ist der einfachste Weg, um dies zu erreichen?
Ich möchte die Ausgabe großer Befehle verlangsamen, wie eine Diashow mit z. B. automatischer Verzögerung von 500 ms zwischen den einzelnen Bildläufen. Was ist der einfachste Weg, um dies zu erreichen?
Antworten:
Eine einfache Lösung mit bash
:
function scroll
{
while read -r ; do echo "$REPLY" ; sleep ${1:-0.5} ; done
}
long_command | scroll [delay]
delay
ist optional und standardmäßig 0.5
.
Beenden Sie mit Ctrl+C
Wenn Sie mit einer Auflösung von 1s leben können, können Sie dies tun tail -n +0 -f -s <seconds>
.
long_command
wird möglicherweise in weniger als einer Sekunde generiert, daher macht es keinen Sinn, alle nach ihrer Vollständigkeit zu fragen, <interval>
und das funktioniert bei mir in der Tat nicht.
echo /**
in Ihrer Ausgabe von long_command (z. B.cat
eine Datei) Ihre Terminalsitzung hängen bleibt und überflutet wird, wenn Sie keine doppelten Anführungszeichen setzen"$REPLY"
.