Как заменяемый текст отображается в терминале?

Как заменяемый текст отображается в терминале?

Например apt-get update, после выполнения он отображается Reading package lists... 82%с изменением процента в той же строке.

Как это достигается? Можно ли это использовать в bash-скрипте?

решение1

Терминалы понимают escape-последовательности для перемещения курсора, изменения цвета текста и других действий. Эти escape-последовательности записываются вtermcapитерминфобазы данных, поскольку они различаются в зависимости от типа терминала (хотя большинство типов терминалов сегодня в основном реализуют одни и те же управляющие последовательности).

Вы можете записать полный вывод приложения с помощьюсценарийполезность.

script -c 'apt-get update' apt-get.script

apt-getупрощает задачу: используется только управляющий символвозврат каретки(известная как CR, Ctrl+M, \r, …), которая перемещает курсор в начало текущей строки.

решение2

если вы еще не вывели новую строку (например: использовалив команде echo) команда:

echo -e "\r\033["

сделает свое дело.

Связанный контент