Исключение некоторых команд из сохраненных в истории bash только после закрытия терминала

В настоящее время я использую $HISTIGNORE игнорировать некоторые команды и не сохранять их в истории Bash. Но текущее поведение: если я запускаю терминал, я выполнил команду, которая находится в $HISTIGNORE затем при нажатии стрелки вверх я перехожу к последней сохраненной команде, но я хочу, чтобы эти игнорируемые команды были доступны в текущем сеансе, и удаляю их только после закрытия сеанса.

1 ответ

Ты можешь использовать sed удалить строки из вашего ~/.bash_history файл, например

sed -i -e '/ apt /d' -e '/^xterm/d' ~/.bash_history

удалить каждую строку, содержащую "apt" и каждую строку, начинающуюся с "xterm".

Если вы хотите выполнять удаление каждый раз, когда открываете новый терминал, добавьте sed линия к вашему ~/.bashrc файл. Вы также можете использовать cron (crontab -e) для автоматизации очистки, например, с помощью линии

@hourly sed -i -e '/ apt /d' -e '/^xterm/d' ~/.bash_history

выполнять уборку почасово.

Другие вопросы по тегам