53

Is there any way to exclude commands like rm -rf, svn revert from being getting stored in bash history? Actually I, by mistake, have issued them a number of times even though I have no intent to do, just because I am doing things quickly and it happened. Hence results in lost of lots of work I have did so far.

  • 3
    You might be interested in http://serverfault.com/questions/48769/avoid-to-keep-command-in-history – Luc M Feb 23 '12 at 17:50

3 Answers3

85

You might want $HISTIGNORE: "A colon-separated list of patterns used to decide which command lines should be saved on the history list." This line in your ~/.bashrc should do the job:

HISTIGNORE='rm *:svn revert*'

Also, you can add a space at the beginning of a command to exclude it from history. This works as long as $HISTCONTROL contains ignorespace or ignoreboth, which is default on any distro I've used.

l0b0
  • 51,350
8

Though going slightly different from OP's question, when I intentionally don't want a command to get stored in bash history, I prefix them with a space. Works in Ubuntu and its variants, not sure if it works on all systems.

k4rtik
  • 233
  • 1
  • 7
3

I usually kill my bash-instance when I have done things that I don't want in the history.

kill -9 $$

$$ represents the current process - bash when you run it from the shell. You can use $BASHPID, but that's more typing :-)