这种情况不断发生,我不知道为什么。如何跟踪 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
/的输出中报告type
,command -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