Исключая некоторые команды от того, чтобы быть добирающимся сохраненный в истории удара

Linux Advanced Routing & Traffic Control HOWTO имеет описание раздела для решения проблемы.

Ключевой шаг для балансировки трафика между двумя маршрутами должен дать им обоим вес.

ip route add default scope global \
    nexthop via 192.168.0.1 dev eth1 weight 1 \
    nexthop via 192.168.1.1 dev eth0 weight 1

34
24.02.2012, 01:12
3 ответа

Вы могли бы хотеть $HISTIGNORE: "Разделенный от двоеточия список шаблонов раньше решал, какие командные строки должны быть сохранены на списке предыстории". Эта строка в Вашем ~/.bashrc должна сделать задание:

HISTIGNORE='rm *:svn revert*'

Кроме того, можно добавить пространство в начале команды для исключения его из истории. Это работает пока $HISTCONTROL содержит ignorespace или ignoreboth, который является значением по умолчанию на любом дистрибутиве, я использовал.

58
27.01.2020, 19:36
  • 1
    то, как я всегда делал его. –  Rob 23.02.2012, 17:31
  • 2
    я раньше случайно входил дополнительный y, в конце концов, cp (искаженный к cp -i) преобладать. Таким образом, я исказил y как alias y='$(history | awk '"'"'END{if(NF==2 && $2=="y"){print "history -d " $1}}'"'"')' ... Но HISTIGNORE лучший метод, поскольку это смотрит.:) Спасибо. диспетчеры Windows составления композита –  anishsane 22.11.2013, 15:02
  • 3
    Только быть более явным: можно добавить export HISTCONTROL="ignorespace" к Вашему ~/.bashrc проигнорировать команды, которые запускаются с пробелов. –  Aidan Feldman 12.06.2016, 05:20
  • 4
    @AidanFeldman не значение по умолчанию на macOS –  akauppi 12.10.2017, 19:28
  • 5
    ОТМЕТЬТЕ: пространство должно быть включено, когда мы вводим в командной строке а не в HISTIGNORE. –  Gayan Weerakutti 27.03.2018, 08:58

Я обычно уничтожаю свой экземпляр удара, когда я сделал вещи, которые я не хочу в истории.

kill -9 $$

$$ представляет текущий процесс - удар при выполнении его от оболочки. Можно использовать $BASHPID, но это больше вводит :-)

1
27.01.2020, 19:36
  • 1
    Some Bash (как это) сохранят историю после каждой команды, и в этом случае это не будет работать. –  l0b0 23.02.2012, 17:41
  • 2
    я раньше делал это. но установка HISTFILE=/dev/null более оптимальный вариант. –  anishsane 22.11.2013, 14:54
  • 3
    просто HISTFILE= работы и в ударе и в ksh. –  kubanczyk 08.04.2016, 21:45

Хотя идя немного отличающийся от вопроса OP, когда я намеренно не хочу, чтобы команда была сохранена в истории удара, я снабжаю префиксом их пространство. Работы в Ubuntu и ее вариантах, не уверенных, если это работает над всеми системами.

6
27.01.2020, 19:36

Теги

Похожие вопросы