Вот пример использования:
node.js
Скрипт очищает консоль.Затем он отправляет некоторые метаданные на консоль. ( Имя модуля и слоган . Вроде как заголовок приложения.)
Он отправляет прошлые данные на консоль. (Вроде как начальный контент приложения, который после его выпуска не изменится после выпуска. По крайней мере, до выхода.)
Он делает то, для чего предназначен, для чего был создан модуль, и также передает это на консоль.
Шаг 4 - это непрерывный процесс. И поэтому вы можете думать о шаге 4 как о часах . Через каждую секунду часы сбрасываются и отображают новое время.
\033c
работал бы хорошо, если бы Шаг 1-3 не был там. Но они есть, и я могу думать только о том, чтобы снова распечатать все данные.
Это работает, но это не самый производительный код. Итак, есть ли способ очистить вывод шага 4, а затем перепечатать его с изменениями?
Примечание . Последняя строка терминала не обязательно является последней строкой программы.
источник
TERM
переменной среды. Библиотеки, чтобы использовать это, напримерcurses
. Но это старая технология, я не знаю, как получить к ней доступ из node.js ...node.js
оболочка или какая-то команда bash, которую я могу выполнитьnode
.Ответы:
\033
являетсяEscape
символом контрольного кода ASCII . Я считаюEscape c
последовательность команд терминала ANSI для сброса терминала.Вы можете, вероятно, выполнить
CR
(возврат каретки), чтобы переместить курсор к левому полю и затемEscape [ K
(очистить до конца строки).Если выходные данные шага 4 состоят из нескольких строк, необходимо выполнить соответствующие команды для перемещения курсора в строку, столбец и очистки до конца экрана.
Поиск «Коды управления терминалом ANSI» должен найти полезный справочный материал.
man tput
рассматривать
или же
или же
где используются коды возможностей
cr
= возврат каретки (курсор на левое поле).el
= очистить от курсора до конца строки.cup
= позиционирование курсора.ed
= очистить от курсора до конца экрана.Эти коды возможностей перечислены в
man terminfo
.Если вы хотите знать, что делает tput, вы можете сделать что-то вроде
Где
^[
представляет контрольный кодEscape
(\ 033).Это даст вам значения, которые вы можете использовать любым способом, который вы намеревались использовать
\033c
источник