Я встановив, export HISTSIZE=99999999999999
але це найкращий спосіб? Я не знаю, чи може статися перелив. Я шукаю перевірений, надійний спосіб зняти межі історії команд.
Я встановив, export HISTSIZE=99999999999999
але це найкращий спосіб? Я не знаю, чи може статися перелив. Я шукаю перевірений, надійний спосіб зняти межі історії команд.
Відповіді:
це насправді не (добре) задокументовано, і я думаю, що 99% користувачів bash на цьому плануваному встановили HISTSIZE на велику кількість veeery.
У GNU історія башів обробляється через могутню бібліотеку читань У бібліотеці є можливість обмежити розмір історії ("задушити" в жаргоні читання) чи ні, і bash просто встановлює історію читання ліній на задушену / не сформовану. Якщо ви заглянете, наприклад, GNU bash версії 4.2, файл variables.c, рядок 4443, функція void sv_histsize (char *), ви знайдете цей коментар (і всю задушку / нестихію у функції, що випливає):
/ * Що робити після зміни змінних HISTSIZE або HISTFILESIZE.
Якщо для цього HISTSIZE є значення (а воно є числовим), тоді заглушіть історію. В іншому випадку, якщо для цієї змінної немає значення НІ,
відкажіть історію. Якщо ім'я HISTFILESIZE, а його значення
числове, усікайте файл історії, щоб містити не більше, ніж багато
рядків. * /
Тому для цього слід зробити трюк:
export HISTSIZE=""
А також це (якщо ви відчуваєте зухвалий характер):
export HISTSIZE="GOTCHA"
Сподіваюся, це допомагає.