Security
避免將命令保留在歷史記錄中
我使用 bash,我想避免某些命令保留在歷史記錄中。
- 是否可以僅對下一個命令執行此操作?
- 是否可以在整個會話中這樣做?
我只記得另一個答案,這是您問題的實際答案。
如果您在 HISTCONTROL 中有“ignorespace”,那麼 bash 將不會記住任何以空格字元開頭的行。它甚至不會出現在目前 shell 的歷史記錄中,更不用說保存到 $HISTFILE 中了。
例如,我的 ~/.bashrc 中有export HISTCONTROL=‘ignoreboth:erasedups’
這是來自 bash 手冊頁的詳細資訊:
歷史控制 以冒號分隔的值列表,用於控制命令的執行方式 保存在歷史列表中。如果值列表包括 忽略空格,以空格字元開頭的行不是 保存在歷史列表中。ignoreups 的值導致行 匹配上一個歷史條目不被保存。一個值 ignoreboth 是 ignorespace 和 ignoreups 的簡寫。一個值 的擦除導致所有先前的行與目前行匹配 在保存該行之前從歷史列表中刪除。 任何不在上述列表中的值都將被忽略。如果 HISTCONTROL 是 未設置或不包含有效值,由 shell 解析器保存在歷史列表中,取決於值 的歷史。多行的第二行和後續行 複合命令未經測試,並添加到歷史記錄 無論 HISTCONTROL 的值如何。