为什么 `source ~/.aliases` 在 .zshrc 中不起作用?

为什么 `source ~/.aliases` 在 .zshrc 中不起作用?
user@localhost ~ % zsh --version
zsh 5.5.1 (x86_64-redhat-linux-gnu)
me@localhost ~ % lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description:    Fedora release 28 (Twenty Eight)
Release:    28
Codename:   TwentyEight

~/.zshrc:

... Details omitted ...
source ~/.aliases
cat ~/.aliases
... Details omitted ...

命令提示符:

user@localhost ~ % zsh
alias ls='exa'
alias grep='rg'
user@localhost ~ % 

因此~/.zshrc执行了,但是别名没有任何效果。

如果我source ~/.aliases在 shell 中运行它就可以工作。

我已经尝试了几个小时,但还是没有成功。有什么想法吗?

答案1

最有可能的是,后来的某些来源改变了这些别名。

添加alias sanitycheck='echo sane'到您的~/.aliasessanitycheck~/.zshrc您获取源后立即运行~/.aliases。重新登录。如果您得到sane,那么您将知道source ~/.aliases工作正常。

调查稍后在您的 中发生的情况~/.zshrc。希望您能发现ls和的其他别名grep

相关内容