Каждый раз Вы закрываете оболочку содержание истории, для которой конкретная оболочка перезаписывает файл истории, который был записан предыдущими.
Содержание истории оболочки хранится в этом файле $HOME/.bash_history
. Это - файл простого текста, таким образом, можно проверить его. Существуют многочисленные опции к истории, которую можно установить для увеличения, это - поведение. Смотрите на страницу справочника удара. Большинство из них называют hist*
или HIST*
. Просто ищите их.
В частности, shopt -s histappend
заставляет удар добавить историю текущей сессии в файл истории вместо того, чтобы перезаписать файл истории.
Существует несколько причин, это могло произойти.
Прежде всего, если бы последняя сессия все еще активна, она не сохранила бы, это - история в файл истории если history -a
(добавьте новую историю), или history -w
(история перезаписи), команда выполнялась от оболочки.
Кроме того, если оболочка, завершенная неправильно, такой как из-за a kill -9
, который должен только когда-либо использоваться как последнее прибежище, который препятствовал бы тому, чтобы он сохранил историю.
Другая проблема, которую я видел, использует script
команда, хотя я подозреваю, что это - просто порядок операций и мои собственные проекции/принятие желаемого за действительное. Новая сессия оболочки, выполненная script
не имеет новейшей истории, потому что она перечитывает файл. Кроме того, после существующий script
, родительская оболочка не обновляет с историей, созданной там. Используя history
команда, это должно быть легко зафиксировать.