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_commandviene 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.catUn file) si bloccherà e inonderà la tua sessione terminale se non inserisci doppie virgolette"$REPLY".