zsh:别名命令停止工作

zsh:别名命令停止工作

这种情况不断发生,我不知道为什么。如何跟踪 zsh 实际尝试执行的操作,以及为什么它开始忽略我的别名?

************@*******-MacBook-Pro$ reload
zsh: command not found: reload
✘ ************@*******-MacBook-Pro$ which reload
reload: aliased to source ~/.zshrc

这是 zsh 5.9,带有 oh-my-zsh。

答案1

最有可能的是,别名扩展已通过您的~/.zshrc.

别名扩展通常默认启用。以下任何一项:

unsetopt aliases
set +o aliases
setopt noaliases
options[aliases]=off

(以及所有其他带或不带no前缀的组合,还要记住选项名称中的大小写和下划线被忽略)禁用别名扩展。

您仍然可以定义别名,并且它们仍然会在alias// which/ whence/的输出中报告typecommand -V但它们将不再扩展。

你需要:

set -o aliases

(或其他变体)

要重新启用它们,或从您的~/.zshrc.

$ alias reload='echo OK'
$ reload
OK
$ set +o aliases
$ reload
zsh: command not found: reload
$ which reload
reload: aliased to echo OK
$ set -o aliases
$ reload
OK

相关内容