Vorrei vedere rallentato l'output di grandi comandi, come una presentazione con, ad esempio, un ritardo automatico di 500 ms tra ogni scorrimento. Qual è il modo più semplice per raggiungere questo obiettivo?
Vorrei vedere rallentato l'output di grandi comandi, come una presentazione con, ad esempio, un ritardo automatico di 500 ms tra ogni scorrimento. Qual è il modo più semplice per raggiungere questo obiettivo?
Risposte:
Una soluzione semplice che utilizza bash
:
function scroll
{
while read -r ; do echo "$REPLY" ; sleep ${1:-0.5} ; done
}
long_command | scroll [delay]
delay
è facoltativo e per impostazione predefinita è 0.5
.
Esci con Ctrl+C
Se riesci a vivere con una risoluzione di 1s, potresti farlo tail -n +0 -f -s <seconds>
.
long_command
viene probabilmente generato in meno di un secondo, quindi non ha senso fare il polling per la sua completezza ogni <interval>
e in effetti non funziona per me.
echo /**
nel tuo output di long_command (ad es.cat
Un file) si bloccherà e inonderà la tua sessione terminale se non inserisci doppie virgolette"$REPLY"
.