история bash добавлена, но его отключена

8

Я на Ubuntu 10.4 и моя оболочка bash. Когда я открываю несколько терминалов гномов и закрываю их, история добавляется правильно. Когда я вхожу, shoptон говорит, среди прочего:

histappend      off

Может кто-нибудь сказать мне, где настроено поведение добавления?

Людвиг Вайнцерль
источник
1
переназначение 'ubuntu-10.04-lts', поскольку ubuntu-10.10 еще не вышло. Я слышал, что это должно быть названо что-то сурикатное.
шарлатан-кихот
1
Кстати, мои оболочки bash на Lucid показывают все его показания как на ... никаких настроек пока нет ... вы уже настроили свою конфигурацию bash ?
шарлатан-кихот
@quack: Спасибо, я, как всегда, опережаю свое время ;-)
Людвиг Вайнцерль
@quack: я несколько раз обновлял эту установку, поэтому я не уверен на 100%. Для меня не имеет значения, включен или выключен гистапенд, история всегда добавляется. Что мне действительно интересно, почему это происходит? Было бы проницательно, если бы вы могли купить -u histappend и сказать мне, если он все еще добавлен в вашу установку?
Людвиг Вайнцерль

Ответы:

1

histappendэто настройка, которую я ожидал бы контролировать. Поскольку это не оболочка для входа в систему, это не будет происходить /etc/bash.bash.logoutили происходить ~/.bash_logout. Проверьте, установлена ​​ли ловушка, введя trap -p. Также echo $PROMPT_COMMANDпосмотрите, что там происходит.

Приостановлено до дальнейшего уведомления.
источник
echo $ PROMPT_COMMAND возвращает echo -ne "\ 033] 0; $ {USER} @ $ {HOSTNAME}: $ {PWD / $ HOME / ~} \ 007". trap -p ничего не возвращает. У меня нет /etc/bash.logout и ~ / .bash_logout не содержит ничего, что касается истории.
Людвиг Вайнцерль
1

bashпытается добавить историю как можно больше. При этом histappendвы всегда будете добавлять историю. Если он выключен, история все равно будет добавляться только до количества команд, которые вы Enterв интерактивном bashсеансе > HISTSIZE. Когда это произойдет, история будет перезаписана.

Если вы хотите явно перезапись истории, вы можете использовать history -wв .bash_logoutили выход ловушку.

В этом ответе я написал более подробно о том, как bashработает история добавления.

dosentmatter
источник
-1

Я написал краткий совет по настройке histappend this на моем сайте, но я перефразирую пост здесь, чтобы ответить на ваш вопрос, я надеюсь.

Вы должны быть в состоянии настроить histappend для включения, используя shopt.

Чтобы включить запуск

покупал гистапенд

Чтобы отключить запуск

покупал -у гистапенд

Это помогает?

болтун
источник