我在飞机上阅读 bash 的手册页时偶然发现了 HISTIGNORE 变量。为了测试它,我立即编辑了 .profile 来定义这个变量:
导出 HISTIGNORE=ls
我测试了一下,效果很好!它从我的历史记录中排除了普通的“ls”命令,但并没有排除路径较长的更有趣的命令,但最近从 SU 中收获了很多智慧,我很想知道超级用户可能会推荐哪些其他命令或其他经验教训。
您能分享有关在 bash 中使用 HISTIGNORE 变量的哪些信息?
答案1
我忽略ls
没有命令bg
,,,,,,和:fg
exit
pwd
clear
mount
umount
如果你将其包含在HISTIGNORE
字符串中,则可以通过在命令前面添加空格来抑制任何内容:
"[ \t]*"
这是我的HISTIGNORE
:
HISTIGNORE="&:ls:[bf]g:exit:pwd:clear:mount:umount:[ \t]*"
我已经排除了其中的一些其他内容,这些内容是服务器独有的重复命令。任何简单的操作都是值得排除的。
我还有其他东西忘记添加,但是我离我的 Linux 机器很远,所以我只能凭记忆来添加。
答案2
不要在历史列表中保存简单的一到两个字符的命令:
HISTIGNORE='?:??'
如果extglob
启用该选项,您还可以使用扩展模式,例如
HISTIGNORE='a*( )'