реверсивный поиск истории, не нашедший ожидаемых команд

Сегодня при вызове бэш-терминала я попытался найти часто используемую команду из моей истории бэша через Ctrl-r. К моему удивлению, она не была найдена. Изучив ~/.bash_history, я увидел экземпляры команды на нескольких строках. История команд не работает, проверяя файл, либо в реальном времени, либо по кэшированной копии?

5
задан 26 September 2020 в 10:25

2 ответа

Оказывается, было немного больше нюансов, чем я знал: HISTFILESIZE определяет максимальное количество строк, сохраняемых в .bash_history , а HISTSIZE определяет количество строк из ~ / .bash_history , загруженных в кэш с возможностью поиска. После увеличения HISTSIZE до соответствия HISTFILESIZE , я смог найти команду через Ctrl - r .

5
ответ дан 4 January 2021 в 08:22

Помимо этого (HISTFILESIZE), есть одна причина, по которой строка не появится в истории: ведущий пробел. Если вы начинаете команду с пробела впереди, например:

$ ls -l

$ ls -l (дополнительный пробел в начале)

, то последняя не будет отображаться в история. В связи с этим вот как выглядит мой .bashrc:

.bashrc:HISTCONTROL=ignoreboth
.bashrc:export HISTSIZE=100000
.bashrc:export HISTFILESIZE=100000
.bashrc:export HISTCONTROL=ignoredups:erasedups
.bashrc:export HISTTIMEFORMAT="%d/%m/%y %T "

HTH

1
ответ дан 4 January 2021 в 08:22

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

Похожие вопросы: