Как я могу помешать меньше хранить историю?

Каждый раз, когда я ищу термин в less, он хранит мой поиск в файле .lesshst, Как я могу остановить это поведение?

3 ответа

Решение

Откройте терминал и создайте файл .lesskey, в вашей домашней папке и добавьте к нему следующее:

#env
LESSHISTSIZE=0

Если у вас уже есть файл .lesshst в вашей домашней папке, затем удалите его и введите команду

lesskey

Вы должны получить любые ошибки здесь. Это не будет хранить историю less с этого момента, пока вы не измените .lesskey файл.

Со страницы руководства меньше:

ПЕРЕМЕННЫЕ ОКРУЖАЮЩЕЙ СРЕДЫ

   Environment variables may be specified either in the system environment
   as usual, or in a lesskey  (1)  file.   If  environment  variables  are
   defined  in  more  than one place, variables defined in a local lesskey
   file take precedence over variables defined in the system  environment,
   which take precedence over variables defined in the system-wide lesskey
   file.

LESSHISTSIZE

          The maximum number of commands to save in the history file.  The
          default is 100.

РЕДАКТИРОВАТЬ:

Из комментариев я обнаружил, что лучший способ предотвратить создание файла истории за меньшие деньги.

в .lesskey файл в домашней папке, добавьте это:

LESSHISTFILE=-

или же

LESSHISTFILE=/dev/null

Если вы положите это в свой ~/.bashrc файл, это будет работать, но будет иметь более низкий приоритет, если у вас есть другие значения в вашем .lesskey файл для тех же переменных.

Вы можете взглянуть на это:

Добавьте это в свой ~/.bashrc:

      export LESSHISTFILE=-

Для проверки теперь вы можете запустить новую оболочку, удалить файл, а затем начать использовать . Он не должен создавать новый ~/.lesshistфайл снова.


Обратите внимание, что exportявляется важным. Если вы оставите это, LESSHISTFILEпеременная, кажется, установлена ​​( echo $LESSHISTFILEбудет выводить -), но он не будет передан less.

Это в основном трюк Bash, включающий LESSHISTFILE переопределить с помощью командного префикса

history | LESSHISTFILE=/dev/null less

Что это делает, это труба на выходе history командовать в less при использовании префикса команды для манипулирования средой, подверженной воздействию less команда.

Это описано в ссылке на bash:

Среду для любой простой команды или функции можно временно дополнить, добавив к ней префиксы с помощью параметров, как описано в разделе Параметры оболочки. Эти операторы присваивания влияют только на среду, видимую этой командой.

Подробнее об этом конкретном использовании на https://stackoverflow.com/a/52208927/117471

Другие вопросы по тегам