如何在 zsh 中自定义命令未找到的样式

Posted

技术标签:

【中文标题】如何在 zsh 中自定义命令未找到的样式【英文标题】:How to customize command not found style in zsh 【发布时间】:2022-01-04 06:00:41 【问题描述】:

如何在 zsh (MacOS) 中自定义command not found

例如:

MacBook-Pro: ~ justin$ lll
zsh: command not found: lll

MacBook-Pro: ~ justin$ lll
zsh: WTFFFFF command not found: lll

在 bash 中有一个 thread 讨论该案例,但我在 ~/zshrc/private/etc/zshrc/private/etc/zprofile 中找不到类似 command-not-found 的内容

【问题讨论】:

【参考方案1】:

zsh 在 zshrc 文件中寻找函数 command_not_found_handler(而不是 bash 的 command_not_found_handle)。

添加到您的 ~/.zshrc 文件中,例如:

command_not_found_handler() 
    echo "zsh: WTFFFFF command not found: $@"
    return 127

或进一步自定义。注意return 127 行:默认命令未找到处理函数返回退出代码 127,因此您可以保持这种行为。您可以使用echo $? 测试退出代码。

【讨论】:

我还找到了可以使用的this项目

以上是关于如何在 zsh 中自定义命令未找到的样式的主要内容,如果未能解决你的问题,请参考以下文章