我~/.bash_profile
有:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
我~/.bashrc
有一些别名
当我加载新的 iTerm 窗口时,我的别名不起作用。如果我使用 source 命令,~/.bashrc
它们会起作用。如果我使用 source 命令,~.bash_profile
它们会起作用。
难道这些中至少有一个不是应该自动获取的吗?
什么原因可能导致它不能正常工作?
答案1
答案很简单,几乎从问题中就能看出来。原因如下:
该shellzsh
不是bash
,它是一个不同的shell。zsh
不会使用为或构建的默认文件bash
。这两个文件是 的启动配置文件。有它自己的启动配置文件。.bashrc
.bash_profile
bash
zsh
您可以在此处了解有关它们的更多信息zsh
介绍页面:
zsh 将从以下五个启动文件中读取命令:
$ZDOTDIR/.zshenv $ZDOTDIR/.zprofile $ZDOTDIR/.zshrc $ZDOTDIR/.zlogin $ZDOTDIR/.zlogout
您曾提到您的别名不起作用,为了解决这个问题,请像这样在这里应用您的别名:
~/.zshrc
alias sz='source ~/.zshrc' # Easily source your ~/.zshrc file.
alias ls='pwd; ls --color' # Alias 'ls' to: pwd + ls + color.
答案2
如果你使用 zsh,则强制源.bash_profile
添加~/.zshrc
下面的行
source ~/.bash_profile
PS-我还没有调查这是否会导致任何问题。
答案3
复制以下行的〜/ .bash_profile到~/.zshrc
cat ~/.bash_profile >> ~/.zshrc
并打开一个新的终端选项卡/窗口或使用source ~/.zshrc