较新的MacOS版本在终端和iTerm2中默认使用zsh作为shell。运行echo $SHELL
来确认这对你是否适用。
在shell启动时,Zsh会查找.zshrc
文件,因此如果要继续使用zsh并同时引用您的bash配置文件内容,可以运行以下命令:
echo "source ~/.bash_profile" >> ~/.zshrc
打开一个新的终端窗口以使更改生效。
.zshrc
文件并删除你添加的 source
语句,它位于最后一行。 - tripleee使用iTerm加载点文件需要完成两件事情。
首先,在.bash_profile
中添加以下内容:
[[ -s ~/.bashrc ]] && source ~/.bashrc
其次,您需要确保在iTerm
首选项中,您的终端已设置为启动登录 shell。
希望这可以帮到您!
使用默认的mac终端,对我有效的方法是添加一个命令,在启动时运行并读取我的.bash_profile文件。
首选项 > 概要 > 启动 > 添加命令 'source ~/.bash_profile'
可能被认为有点“hacky”,但确实能解决问题。
将source ~/.profile
添加到我的.bash_profile
中对我起作用了。
从 High Sierra 开始,终端和 iTerm 都希望首先加载 ~/.profile。因此,我建议您在 .profile 中添加一行代码,使得 Mac 的工作方式与其他 Unix 系统相同:
source ~/.bash_profile
通过编辑这个文件,您不必搜索多个应用程序菜单来覆盖苹果在每个应用中的奇怪行为。
.bash_profile
以source ~/.profile
,该文件专门设计用于此目的。) - tripleee从Catalina开始,默认的shell现在是zsh。您可以使用chsh -s /bin/bash
将其改回bash,并且那应该加载您的.profile
或.bash_profile
for file in ~/.{bashrc,bash_exports,bash_aliases,bash_functions}; do
[ -r "$file" ] && source "$file"
done
unset file
# Added by Canopy installer on 2017-04-19
# VIRTUAL_ENV_DISABLE_PROMPT can be set to '' to make the bash prompt show that Canopy is active, otherwise 1
alias activate_canopy="source '/Users/lex/dev/python/User/bin/activate'"
# VIRTUAL_ENV_DISABLE_PROMPT=1 source '/Users/lex/dev/python/User/bin/activate'
p.s. Canopy是一个非常好用且免费的Python IDE,我强烈推荐使用。
幸运的是,我备份了我的~/.bash*文件,因此恢复很容易,快速解决了我的问题。
我的建议是了解初始化文件的调用顺序,从第一个开始逐个排查,直到找到问题所在。
哦,还有你可能需要验证一下你正在使用哪个shell(我使用bash):
~ $ echo $SHELL
/usr/local/bin/bash
虽然有点晚了,但看起来在加载zsh时,.zprofile文件相当于.bash_profile文件。我使用它来在启动时执行一些命令。当然,这只适用于特定的iTerm设置和zsh。
我的问题通过取消勾选偏好设置>常规>tmux>来解决。
使用“tmux”配置文件而不是连接会话的配置文件
我猜你可能使用了其他的shell,比如bash、tcsh、sh、zsh等。
将source .bash_profile
放入你适当的'bashrc'文件中,将使自动加载恢复,即:
对于tcsh,使用.login;对于bash,使用.bash_profile;对于zsh,使用.zshrc。