Я бы хотел, чтобы вывод больших команд замедлился, например, показ слайдов, например, с автоматической задержкой 500 мс между каждой прокруткой. Какой самый простой способ добиться этого?
Я бы хотел, чтобы вывод больших команд замедлился, например, показ слайдов, например, с автоматической задержкой 500 мс между каждой прокруткой. Какой самый простой способ добиться этого?
Ответы:
Простое решение с использованием bash
:
function scroll
{
while read -r ; do echo "$REPLY" ; sleep ${1:-0.5} ; done
}
long_command | scroll [delay]
delay
не является обязательным и по умолчанию 0.5
.
Выход с Ctrl+C
Если вы можете жить с разрешением 1с, вы могли бы сделать tail -n +0 -f -s <seconds>
.
long_command
возможно, генерируются менее чем за секунду, поэтому нет смысла опрашивать их полноту, <interval>
и они действительно не работают для меня.
echo /**
имейте в виду, что в вашем выводе long_command (например,cat
в файле) застрянет и запустит сеанс терминала, если вы не поставите двойные кавычки"$REPLY"
.