Исключение некоторых команд из сохраненных в истории 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
выполнять уборку почасово.