zsh: alias コマンドの動作が停止しました

zsh: alias コマンドの動作が停止しました

こんなことがずっと起こるのに理由がわかりません。 zshが実際に何をしようとしているのか、そしてなぜ私のエイリアスを無視し始めたのかを追跡するにはどうすればよいですか?

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

これはoh-my-zshを含むzsh 5.9です。

ベストアンサー1

おそらくエイリアス拡張が~/.zshrc

エイリアス拡張は通常デフォルトで有効になっています。次のいずれか:

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

(そしてプレフィックスの有無にかかわらず、他のすべての組み合わせは、noオプション名の大文字と小文字の下線も無視されることに注意してください。)エイリアス拡張を無効にします。

エイリアスを定義することができ、alias//which出力に報告され続けますが、もはや拡張されません。whencetypecommand -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

おすすめ記事