В bash вы можете использовать команду с именем, clear
чтобы очистить все экранные команды.
И echo
вы можете распечатать все, что вы хотите на экране ..
В моих простых сценариях мне часто нужно печатать процент от того, что делается с моими командами ..
Так что я мог бы сделать что-то вроде ..
echo "89%"
echo "90%"
echo "91%"
и так далее..
то, что я ненавижу получать экран, полный процентных обновлений ...
89%
90%
91%
...
я хотел бы узнать, есть ли специальная комбинация символов (например, "\ 033 [01; 31m"), которая может быть отражена с помощью bash или php echo и говорит консоли "удалить последний предыдущий напечатанный символ .."
сделать это, используя что-то вроде: (пример PHP)
echo str_repeat($neg_character, strlen($last_percentage_update_string));
echo $new_percentage_update_string;
Я получил бы новую строку, напечатанную в точной позиции предыдущей без экрана, заполненного линиями
В противном случае я ищу подход, позволяющий сделать то же самое другими способами, всегда используя скрипты bash и php (пожалуйста, включите реальные рабочие примеры хотя бы с консолью debian9 и php7)
tput cub 3
чтобы переместить куб rsor б ACK на 3 столбцов без необходимости прописывать последовательность (иtput el
к й разрушайте в л INE).\e
не портативен 2. ни есть\e[0E
ech
для стирания. И движение назад на 3 позиции имеет сложность и две возможные оптимизации, которые, как правило, используют полноэкранные программы. Но и оптимизация, и стирание излишни для простых терминалов, работающих только с текущей строкой, если следовать этому совету использовать спецификатор формата с фиксированной шириной. Не забывайте, что100
это 3 цифры, кстати. (-: