您能分享在 bash 中使用 HISTIGNORE 的智慧吗?

您能分享在 bash 中使用 HISTIGNORE 的智慧吗?

我在飞机上阅读 bash 的手册页时偶然发现了 HISTIGNORE 变量。为了测试它,我立即编辑了 .profile 来定义这个变量:

导出 HISTIGNORE=ls

我测试了一下,效果很好!它从我的历史记录中排除了普通的“ls”命令,但并没有排除路径较长的更有趣的命令,但最近从 SU 中收获了很多智慧,我很想知道超级用户可能会推荐哪些其他命令或其他经验教训。

您能分享有关在 bash 中使用 HISTIGNORE 变量的哪些信息?

答案1

我忽略ls没有命令bg,,,,,,和:​​fgexitpwdclearmountumount

如果你将其包含在HISTIGNORE字符串中,则可以通过在命令前面添加空格来抑制任何内容:

"[ \t]*" 

这是我的HISTIGNORE

HISTIGNORE="&:ls:[bf]g:exit:pwd:clear:mount:umount:[ \t]*"

我已经排除了其中的一些其他内容,这些内容是服务器独有的重复命令。任何简单的操作都是值得排除的。

我还有其他东西忘记添加,但是我离我的 Linux 机器很远,所以我只能凭记忆来添加。

答案2

不要在历史列表中保存简单的一到两个字符的命令:

HISTIGNORE='?:??'

如果extglob启用该选项,您还可以使用扩展模式,例如

HISTIGNORE='a*( )'

相关内容