Я установил, export HISTSIZE=99999999999999
но это лучший способ? Я не знаю, может ли произойти переполнение. Я ищу проверенный, надежный способ снять ограничения истории команд.
Я установил, export HISTSIZE=99999999999999
но это лучший способ? Я не знаю, может ли произойти переполнение. Я ищу проверенный, надежный способ снять ограничения истории команд.
Ответы:
это действительно не (а) документально , и я предполагаю , что 99% от пользователя Баш на это планируется сделать множество HISTSIZE на ооочень большого числа.
В GNU история bash обрабатывается через мощную библиотеку readline. В библиотеке есть возможность ограничить размер истории («stifle» на жаргонном языке readline) или нет, а bash просто устанавливает историю readline на stifled / unstifled. Если вы посмотрите, например, GNU bash версии 4.2, файл variables.c, строка 4443, функцию void sv_histsize (char *), вы найдете этот комментарий (и весь удушающий / неустойчивый в следующей функции):
/ * Что делать после изменения переменных HISTSIZE или HISTFILESIZE.
Если есть значение для этого HISTSIZE (и это числовое значение), тогда задушите историю. В противном случае, если для этой переменной НЕТ значения,
откройте историю. Если name равно HISTFILESIZE, а его значение
числовое, обрежьте файл истории, чтобы он содержал не более этого количества
строк. * /
Так что это должно сработать:
export HISTSIZE=""
А также это (если вы чувствуете себя вызывающе):
export HISTSIZE="GOTCHA"
Надеюсь это поможет.