Я использую следующий код в моем .bash_profile для фильтрации и дедупликации моей истории bash:
shopt -s histappend
HISTSIZE=100000
HISTFILESIZE=100000
HISTCONTROL=ignoredups:erasedups
PROMPT_COMMAND="history -a;history -c;history -r;$PROMPT_COMMAND"
Это работает замечательно, однако получается следующий побочный эффект:
Допустим, у меня открыто два терминала / вкладки:
- Первая вкладка: папка:
~
, последний запуск команды:wget big_file...
(или что-нибудь длинное) - 2-я вкладка: папка: произвольная временная папка, последняя команда:
rm -rf *
Теперь, если я перехожу со 2-й на 1-ю вкладку и нажимаю клавишу ВВЕРХ, она повторно запускает последнюю команду, как будто все в порядке.
Теперь наступает опасный момент: если я снова нажму UP, он вставит rm -rf *
и если я не замечу это в тот самый момент, когда я только что удалил все свои данные.
Можете ли вы порекомендовать мне настройку .bash_profile для истории, которая выполняет дедупликацию / фильтрацию, но не допускает таких вещей?