Я установил export HISTSIZE=99999999999999
но так ли это лучше? Я не знаю, может ли произойти переполнение. Я ищу проверенный, надежный способ снять ограничения истории команд.
1 ответ
это действительно не (а) документально , и я предполагаю , что 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 (и это числовое значение), тогда задушите историю. В противном случае, если нет значения для этой переменной,
раскрывать историю Если имя HISTFILESIZE, и его значение
числовой, обрезать файл истории, чтобы держать не больше, чем столько
линий. */
Так что это должно сработать:
export HISTSIZE=""
А также это (если вы чувствуете себя вызывающе):
export HISTSIZE="GOTCHA"
Надеюсь это поможет.