Сохранение истории команд в bash
Часто бывает, что мы пользуемся шеллом одновременно из нескольких открытых окон терминала. При этом не менее часто бывает, что удобную и длинную команду из истории шелла из одного терминала случайно затерла история шелла из другого терминала. Избежать этого может помочь добавление следующих строк в .bashrc:
shopt -s histappend PROMPT_COMMAND='history -a; history -n'
Первая опция заставляет шелл не перезаписывать файл истории, а добавлять записи в него. Вторая команда будет вызывать добавление содержимого истории в файли и перечитывание файла истории сразу при выводе приглашения командной строки, а не после выхода из шелла.
- Добавить комментарий
- 465 просмотров
Страница для печати

идея неплохая, но:
1. не работает в GNU bash, version 3.00.15(1)-release (i686-redhat-linux-gnu). почему не работает пока еще на разбирался, может тупо баг в баше.
2. переменная PROMPT_COMMAND уже может содержать чего-то (и часто содержит подсветку PS1), потому логичнее бы ее не переписывать, а дополнять
PROMPT_COMMAND="history -a; history -n; ${PROMPT_COMMAND}"
отличный хинт. спасибо !