Як встановити кількість команд, що нагадує історію


15

Я використовую bash. Для перегляду історії моїх команд я викликаю historyкоманду, яку, на мою думку, називає однойменною програмою Gnu. (Я не знаю, чи є кращий конкретний шлях).

В моєму .bashrc у мене зараз є рядок export PROMPT_COMMAND='history -a'щодо збереження історії від моїх кількох сеансів баш, які я веду.

Якщо я займаюся історією, наразі бачу лише 524 записи. Це налаштовується? Я хотів би збільшити це до значно більшої кількості, скажімо, 2000 року.

Відповіді:


19

Перш за все, history це конкретний баш, не кращий. historyКоманда Баш вбудована команда , як ви можете побачити, запустивши

$ type history 
history is a shell builtin

Тепер кількість команд, які вона запам'ятовує, контролюється HISTSIZEзмінною. Щоб встановити його на більшу кількість, додайте цей рядок до свого .profile(для чого це краще місце для нього, ніж .bashrcдивіться тут ):

export HISTSIZE=2000

Відтепер historyповерне останні 2000 команд, які ви виконали.


5

Так, 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: ЗМІНИ


2

У HISTSIZEдиктат змінний , скільки команд зберігаються в біжучому історії і HISTFILESIZEвизначає , скільки команд із запущених історій зберігаються після виходу з оболонки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.