iTerm / zsh不读取.bashrc或.bash_profile


24

~/.bash_profile 我有:

if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

~/.bashrc我有一些别名

当我加载一个新的iTerm窗口时,我的别名不起作用。如果我采购~/.bashrc他们的工作。如果我采购~.bash_profile他们的工作。

是不是至少有一个应该自动采购?

可能导致它无法正常工作的原因是什么?

Answers:


43

答案很简单,几乎在问题中很明显。原因如下:

外壳zsh不是bash,它是一个不同的外壳。zsh不会使用为bash以下内容构建的默认文件:.bashrc.bash_profile。这两个文件是启动配置文件bashzsh有自己的启动配置文件。

您可以在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.

谢谢。需要注意的是ls --color给了我illegal option两个bashzsh在OSX 10.10,但不能在Linux上-我会考虑它。干杯。
布拉德利洪水2015年

我没有Mac测试,但我认为这与OS X上的ls实现有关,我不认为它有 - -color参数。如果我记得我会查找它。
projectdp 2015年

“...... zsh有自己的启动配置文件。” 这是他可能会要求的吗?只是说“伙计,这是〜/ .zshrc”。
eyurdakul

2

如果您使用zsh然后强制源 .bash_profile

~/.zshrc下面添加一行

source ~/.bash_profile

PS - 我没有调查这是否会导致任何问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.