Терминал: избавиться от мерцания курсора - PullRequest
0 голосов
/ 19 сентября 2018

Я печатаю в одну и ту же строку снова и снова с циклом while для отслеживания прогресса.

echo; while true; do 
    sleep 0.1; 
    echo -en "\e[1A"; 
    run | some |code | awk '{print}'; 
done;

Печатает мой вывод на одну и ту же строку каждый раз.

Однако существует проблема с буфером: курсор мигает между эхом и оператором печати.

Как избавиться от мерцания оконечного курсора в моем цикле состояния?

Возможно, другой вопрос, но все же решение: как временно подавить курсор после команды?

1 Ответ

0 голосов
/ 20 сентября 2018

Вы можете уменьшить мерцание, комбинируя эхо в команду awk.Например:

echo; while true; do 
    sleep 0.1; 
    run | some |code | awk '{printf("\033[A%s\n", $0); }'; 
done;

(Нестандартный) \e эквивалентен \033, и вам на самом деле не нужен счетчик повторов 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...