Я использую bash. Чтобы просмотреть историю команд, я вызываю команду, history
которая, как я полагаю, вызывает одноименную программу Gnu. (Не знаю, есть ли лучший способ, специфичный для bash).
В моем .bashrc в настоящее время есть строка export PROMPT_COMMAND='history -a'
для сохранения истории из моих многочисленных сеансов bash, которые я запускаю.
Если я делаю историю, то сейчас вижу только 524 записи. Можно ли это настроить? Я бы хотел увеличить это число до гораздо большего числа, скажем, 2000.
решение1
Прежде всего,history
являетсяbash-специфический способ, нет ничего лучше. history
Команда встроена в bash, как вы можете увидеть, запустив
$ type history
history is a shell builtin
Теперь число команд, которые он помнит, контролируется переменной HISTSIZE
. Чтобы установить большее число, добавьте эту строку в свой .profile
(почему это место лучше, чем .bashrc
, см.здесь):
export HISTSIZE=2000
С этого момента history
будет возвращать последние 2000 выполненных вами команд.
решение2
Переменная HISTSIZE
определяет, сколько команд будет храниться в истории выполнения, а также HISTFILESIZE
сколько команд из истории выполнения будет сохранено после выхода из оболочки.
решение3
Да, man bash
говорит:
HISTSIZE — количество команд, которые нужно запомнить в истории команд.
Но есть Readline
переменная:history-size
Установите максимальное количество записей истории, сохраняемых в списке истории. Если установлено значение ноль, все существующие записи истории удаляются, и новые записи не сохраняются. Если установлено значение меньше нуля, количество записей истории не ограничено. По умолчанию количество записей истории не ограничено.
Вы можете установить history-size
с помощью HISTSIZE=1000
или bind 'set history-size 1000'
с помощью следующей строки в вашем файле ~/.inputrc
:set history-size 1000
Примеры:
HISTSIZE=1000
bind 'set history-size 0'
echo $HISTSIZE # prints 1000
bind -v | grep history-size # prints set history-size 0
history # prints nothing
bind 'set history-size 0'
HISTSIZE=1000
echo $HISTSIZE # prints 1000
bind -v | grep history-size # prints set history-size 1000
history # prints 13 echo $HISTSIZE\n14 bind -v | grep history-size\n15 history
history-size
доступно с bash-4.0-alpha
:ИЗМЕНЕНИЯ
решение4
For more information, I am adding it. I used ubuntu 18. This worked for me.
$ echo $HISTSIZE
1000
$ echo $HISTFILESIZE
1000
$ echo $HISTFILE
vi /home/siva/.bashrc # here we need to update the HISTSIZE variable to the required thing.
NOTE: open new terminal and check updated value will bere printed if you run $ echo $HISTSIZE
Reference Link:
https://www.redhat.com/sysadmin/history-command