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