short: no, нет такой команды.
длинный: вы можете написать сценарий. Вот краткое введение в эту тему.
Программа clear
очищает весь экран. Ваша оболочка выведет новое приглашение (вверху только что очищенного экрана). Но предположим, что вы хотели очистить части экрана до, ваша команда завершена и возвращается в оболочку.
Большинство терминалов, которые вы использовали бы поддержать управляющую последовательность ANSI, которая очищает от текущей позиции курсора до конца экрана, который является terminfo capability ed
:
clr_eos ed cd clear to end of
screen (P*)
показано infocmp
в ed=\E[J
.
Вы можете использовать его в сценарии, например, с помощью tput
:
tput ed
Это одна из областей, где "ANSI.SYS" отличается от стандарта ANSI (на самом деле ECMA-48 см 8.3.29 ERASE IN PAGE
) , ansi.sys
очищает весь экран, когда он получает
printf '\033]J'
Некоторых людей прописывать это в сценарий, и предположит, что «ANSI.SYS» соответствует стандарту. См., Например, How do I get color with VT100? в FAQ ncurses.
Отмечая комментарий о том, как проверить это: вероятно, на экране ниже ничего не отображается. Поэтому типизация tput ed
может показаться недействительной. Как отмечено выше, он очищает ниже курсора. Если вы хотите, чтобы очистить выше (2 линии) подскажите, что это немного сложнее:
- сохранить позиции курсора
- перемещения курсора вверх две линии
- ясно перед тем курсор
- восстановить позицию курсора.
Если ваше приглашение случается на первой строке экрана, это может быть обнаружены с помощью отчета о положении курсора. Но это сложнее, чем предполагалось. Предположим, что существует пространство над:
tput sc
tput cuu 2
tput cub 999
printf '\033[1J'
tput rc
Регулярное printf
, а не tput
здесь используется, потому что нет никакого предопределенного TERMINFO (или TERMCAP) возможность определить для данного типа стирания.
Если вы хотите обработать случай, когда приглашение начинается в верхней строке терминала, вам нужно будет найти текущую строку номер и решить, нужно ли делать клиринг выше (или нет).
Дальнейшее чтение:
Clear держит многострочные подсказки ... – 123
О, ты прав. Я использовал C-l, и у меня нет такого же поведения. Я думал, что они такие же. – Joe