Mac上的默认shell设置为
/bin/bash
但是,当我尝试查看别名设置时,它是空白的。我必须输入
bash
出现之前。 输入bash之后我仍然拥有和以前一样的shell,我通过输入
来检查which $SHELL
结果总是
/bin/bash
那么为什么我必须先键入bash才能从〜/ .bashrc 文件中获取别名和环境
答案 0 :(得分:3)
打开终端时创建的shell是一个"登录shell"。因此,如果存在,它将运行.bash_profile
;如果没有,它将按此顺序尝试.bash_login
和.profile
。除非您从.bashrc
(或.bash_profile
或.bash_login
)明确执行,否则它将无法运行.profile
。
答案 1 :(得分:2)
尝试使用.bash_profile
代替.bashrc
。
请参阅this article以获得更深入的解释,包括在多个Unix上运行时应采取的措施的建议。
答案 2 :(得分:1)
您也可以从.bashrc
.bash_profile
来源
$ cat ~/.bash_profile
. ~/.bashrc
终端和iTerm 2调用bash作为登录shell(读取.bash_profile
而不是.bashrc
),但是例如tmux和Emacs中的shell模式将bash作为非登录shell调用(读取.bashrc
但不读取.bash_profile
)。