Я использую bash и хотел бы избежать сохранения некоторых команд в истории.
- Возможно ли это сделать только для следующей команды?
- Возможно ли это сделать на протяжении всего сеанса?
Я использую bash и хотел бы избежать сохранения некоторых команд в истории.
Ответы:
и я только что вспомнил другой ответ, это фактический ответ на ваш вопрос.
если у вас есть «ignorespace» в HISTCONTROL, то bash не запомнит любую строку, начинающуюся с пробела. он не появится даже в истории текущей оболочки, не говоря уже о сохранении в $ HISTFILE.
например, у меня есть экспорт HISTCONTROL = 'ignoreboth: erasedups' в моем ~ / .bashrc
вот подробности со страницы руководства bash:
источник
Вот несколько уроков по истории, которые я извлек из поиска в Google:
Вы можете установить историю, чтобы игнорировать определенные строки. В этом примере я проигнорировал команды ls, passwd и любую команду с префиксом символьного пространства.
Чтобы отключить историю для вашего сеанса, вы можете выполнить:
Ссылка
источник
Если вы просто хотите удалить последнюю команду из истории, тогда вы можете нажать Up-arrow, затем Ctrl - U(стереть в начало строки), затем Up-arrowснова.
Вы можете удалить любую отдельную строку из истории, как это. Просто используйте стрелку вверх или поиск или что-нибудь еще, чтобы сделать его текущей редактируемой командной строкой, затем нажмите Ctrl - U, а затем Up-arrowили, Down-arrowчтобы перейти к другой строке истории.
Я обнаружил это случайно один день назад. Я понятия не имею, документировано это или нет.
Однако, как правило, проще не сохранять историю текущей оболочки вообще с помощью:
источник
Вы можете сбросить
HISTFILE
переменную. Отman bash
:Я не думаю, что это препятствует появлению команды в локальной истории оболочки до ее закрытия.
источник
Я иногда делаю
источник
Я вижу, что никто не написал этот метод, поэтому я буду.
history -d
удаляет указанную запись из истории.HISTCMD
сохраняет номер_команды команды, которая должна быть выполнена далее. Итак, (HISTCMD-1) относится к последней выполненной команде.Я снял короткометражный фильм, который показывает, как он работает: https://asciinema.org/a/dtxpuovhty0obhln50soqypt2
После запуска команды, а также потому, что она также удаляет саму команду, переход со стрелкой вверх не будет отображать команду, поэтому, если вы планируете использовать ее часто, лучше создать псевдоним:
Тогда вы можете сделать:
источник