使 Zsh / Bash History 不记录错误(command not found)命令

💡 原文中文,约1800字,阅读约需5分钟。
📝

内容提要

这篇文章介绍了如何在使用zsh_autosuggestions时避免无效命令出现在历史记录中。通过读取命令的返回值,判断命令是否有效,并将无效命令从历史记录中删除。文章提供了在zsh中实现该功能的代码示例,并提到了一些其他相关的配置和注意事项。

🎯

关键要点

  • 文章讨论了如何在使用zsh_autosuggestions时避免无效命令出现在历史记录中。
  • 通过读取命令的返回值来判断命令是否有效,exit status 127表示命令未找到。
  • 无效命令会从历史记录中删除,zsh使用precmd函数实现此功能。
  • zsh的history命令与bash有所不同,不能通过history -d删除单条命令历史记录。
  • 提供了在zsh中实现该功能的代码示例,需新建文件.his_ignore_error.env。
  • 在.zshrc文件末尾添加相关配置以启用功能,并使用source命令更新配置。
  • 可以通过setopt HIST_IGNORE_DUPS来避免记录连续输入的相同指令。
  • 文章提到之前的建议HIST_IGNORE_ERRORS无效,最终确认使用precmd()函数。
🏷️

标签

➡️

继续阅读