当我使用浏览器时,如果我不希望我的浏览器历史记录记录在本地计算机上,我可以“私密浏览”。但是,如果我在 bash shell 中输入命令,也许还输入密码,并且我不希望将其存储在我的命令历史记录中,但同时我又不想擦除我的命令历史记录,该怎么办?有没有办法做到这一点?
答案1
更新:在问题被标记为重复之前,我的答案被标记为“已接受”。该参考文献指出了一个可能优于我下面列出的三个解决方案,具体取决于您的用例,因此我将在这里重复:通过键入 暂时关闭历史记录set +o history
,并通过键入 恢复历史记录set -o history
。
原始答案: 在 中bash
,有几种方法可以手动创建您想要的环境,所有方法都涉及内部bash
变量HISTCONTROL
、HISTFILE
和 的某种组合HISTIGNORE
。
在下面的段落中,引文均逐字引自man bash
。
1] 您可以在未设置的情况下启动 shell HISTFILE
,在这种情况下,“shell 退出时不会保存命令历史记录”。
2]您可以手动设置HISTCONTROL
包含字符串ignorespace
,在这种情况下“以空格字符开头的行不会保存在历史列表中。
3] 您可以手动设置HISTIGNORE
为*
或更具体的内容,在这种情况下,与您的全局模式匹配的行将不会被保存。对于此选项,请man
仔细阅读该页面,因为有一些警告和陷阱。该页面的这一部分man
简短而清晰,无论如何阅读它都是一个很好的习惯,所以我不会在此处剪切和粘贴它。