Например, если я посмотрю кусок документа под названием a.txt в Linux. Вот моя подсказка:

user $ less a.txt
This is a document named a.txt, here is what happened when I press 'q'
user $ 

Небольшой документ меня не беспокоит, но когда я просто просмотрел код длиной 2000 строк, я не смог увидеть ничего из моих предыдущих команд, кроме просмотра $history .

Как мне остановить отображение документа / кода при существовании ('q')?

2 ответа2

1

Обычно запрашиваемое вами поведение используется по умолчанию. Такие команды, как less, используют функцию altscreen для записи в другой буфер во время их работы. При выходе предыдущий экран восстанавливается, и ничто из меньшего вывода не видно.

Эта функция зависит от того, какой эмулятор терминала вы используете (xterm, dtterm, ...) и как вы устанавливаете переменную среды TERM в оболочке. Попробуйте echo $TERM чтобы убедиться, что он не тупой, например.

0

Как сказано, то, что вы спрашиваете, это нормальное поведение, которое ожидается. Экран не очищается, если вы запускаете менее конкретно с флагом -X, например так:

меньше -X имя файла

Вы могли бы специально проверить следующее:

1) Если какие-либо псевдонимы установлены там, где вы видите, меньше устанавливается на -X. Просто запустите псевдоним команды

2) Проверьте переменную env LESS, если она установлена в -XF, как это, и снимите ее:

[root @ host] # env | grep LESS

LESS = -xf

3) Проверьте переменную env и сбросьте ее, если она существует. PAGER = 'less -X'

Читайте больше здесь (хотя это должно выключить это):

Экран очистки команды 'less' при выходе - как его отключить?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .