我在 Mac OS X 10.6 中使用 iTerm。当我打开 iTerm 时,似乎既没有.bashrc
也.bash_profile
没有来源。我可以说这是因为未设置中定义的别名.bashrc
。如何修复?
答案1
Bash 会根据调用方式来获取 .bash_profile 或 .bashrc。如果是登录 shell,Bash 会按顺序查找 ~/.bash_profile、~/.bash_login 或 ~/.profile,并获取找到的第一个文件(且只获取那个文件)。如果不是登录 shell,而是交互式的(如大多数终端会话),Bash 会获取 ~/.bashrc。
很可能,iTerm 正在寻找 ~/.bashrc。如果它配置为作为登录 shell 启动,它将寻找 ~/.bash_profile。这几乎肯定是配置文件中的错误,而不是 shell 没有提供它。
我会在每个文件的开头放一行。在 ~/.bash_profile 的顶部:
export BASH_CONF="bash_profile"
在 ~/.bashrc 的顶部:
export BASH_CONF="bashrc"
然后打开一个新的 iTerm 并输入
$ echo $BASH_CONF
这应该可以确认该文件正在被获取,并且您可以查看该文件的语法。
答案2
在 iTerm2 中,这些解决方案都不适合我。我可以通过添加命令来让它正确读取我的 .bashrc 文件
source ~/.bashrc
到开始时发送文本:我的 iTerm 配置文件的“设置/常规”中的字段。
答案3
我只是想知道你真的使用 Bash 吗?也许你可以使用echo $SHELL
,你很可能正在使用嘚,你安装了on-my-zh?
实际上我遇到了和你一样的问题,我通过配置来修复它~/.zshrc相反的〜/ .bash_profile用于登录 shell 或~/.bashrc对于非登录 shell。
也许你可以尝试一下
答案4
轻松修复。
1.打开~/.zshrc
文件
2.在文件末尾添加以下行。
source ~/.bash_profile