Мне нравится сохранять много истории, таким образом, я имею histappend
набор в моем .bashrc
. Большую часть времени все хорошо работает с историей, созданной от многого добавления оболочек. Однако каждый однажды и некоторое время, я запущу новую оболочку и найду, что потерял всю историю - и она часто только содержит некоторые команды от последней оболочки для выхода (т.е. она не просто перезаписывает вместо того, чтобы добавить). Из-за этого я подозрителен, что это происходит в выходе оболочки, а не от некоторого другого процесса, уничтожающего .bash_history
файл. Поддерживая это заключение, у меня есть числа команды истории в моей подсказке, и я никогда не видел, что они спрыгивают.
Кто-либо когда-нибудь сталкивается с подобной проблемой? Или даже просто имеют предложения, как разыскать проблему?
Никакая идея, почему это происходит, но возможно можно обойти проблему, вынудив удар записать в его файл истории каждый раз, когда это отображает подсказку:
PROMPT_COMMAND="history -a; history -n"
Это запишет (-a) и затем перечитает (-n) файл истории каждый раз подсказки удара для следующей команды. Дополнительная выгода: Вы получите команду X в оболочке 1 в истории оболочки 2.
Мой опыт состоял в том, что оболочки обновили файл истории во время выхода. Таким образом, первоначальная "история" оболочки зависела от представления последний раз вышедшей оболочки истории.
Результат этого состоит в том, что можно получить команды, приходящие и уходящие из истории, в зависимости от как другие оболочки, запущенные и остановленные.
histappend
. Проблемой не является неожиданное содержание, но общая сумма убытков ранее сохраненного содержания.
– Cascabel
12.08.2009, 01:14
Я видел, что это происходит прежде, но это была проблема с ошибками диска, которые происходили в увеличивающейся частоте. Я выполнил бы сканирование на диске. Если бы оказывается, что диск прекрасен, я проверил бы, чтобы видеть, не превосходит ли этот файл произвольный предел истории оболочки.
Что-то, что смогло мешать этому происходить, должно будет продолжать сокращать файл назад к 80 строкам или однако многим командам, которыми Вы хотите, чтобы история была.
int
удар хранит их как.
– Cascabel
12.08.2009, 01:13
Извините, что ответил на свой собственный вопрос, но ни один из других ответов действительно не решает проблему.
Я наконец выяснил, что это только происходит при закрытии gnome-terminal
самостоятельно (т.е. файл> выход, 'x' кнопка, alt+F4), и даже затем обычно только при закрытии нескольких терминалов в быстрой последовательности. Этого никогда не происходит, чтобы использование ctrl-D закрыло оболочку, позволив терминалу следовать.
Если я могу придавить его достаточно хорошо, я зарегистрирую терминальный гномом отчет об ошибках. Тем временем возможно, это поможет некоторым другим людям, которые добираются здесь от Google!