你能阻止命令进入bash shell命令历史吗?

有没有办法阻止命令被添加到bash shell的命令历史?

我希望能够防止某些“危险的”命令被添加到历史logging中,例如“ rm -rf ~/some/dir ”,以便按下向上箭头不能访问命令。 这样,不可能不经意地重复其中的一个命令。

我之所以问,是因为我使用向上的箭头来访问shell历史中的先前的命令,而且经常发现自己打开了我认为是正确的命令的东西,只是意识到我正要做点什么愚蠢/烦人/危险。 我不喜欢在我的shell历史中浮现出来的想法,等着我踩到它们!

(注意:我知道可以在HISTIGNORE中设置模式,但是可以在每个命令的基础上应用一些东西,这将会是一个好习惯,除非有一个聪明的方法来使用HISTIGNORE我错过了?)

在较新的Bash版本中,您可以在命令的开头添加一个空格。 :)如果默认情况下不起作用,请将[\ t] *添加到HISTIGNORE。 (正如评论thx所述)

忽略空间添加到您的HISTCONTROL环境variables。 那么以空格开头的任何命令行都不会被input到您的历史logging中。