Mac 每次都要执行source ~/.bash_profile 才能使配置的环境变量或者别名生效

本文解决了一个常见问题:在使用ZSH作为默认Shell时,原本在~/.bash_profile中设置的环境变量在重启终端或打开新窗口后会失效。作者详细解释了原因,并提供了在~/.zshrc中加入源~/.bash_profile命令的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在 ~/.bash_profile 中配置了环境变量, 可是每次重启终端或者打开新的命令窗口后,配置的环境变量就会失效.需要重新执行 : $source ~/.bash_profile,才能重新生效。

原因是:自己安装了zsh,zsh加载的是 ~/.zshrc文件,而 ‘.zshrc’ 文件中并没有定义任务环境变量。

解决办法:在~/.zshrc文件最后,增加一行:

open ~/.zshrc

source ~/.bash_profile
--------------------- 
作者:wt_better 
来源:优快云 
原文:https://blog.youkuaiyun.com/wt_better/article/details/82253356 
版权声明:本文为博主原创文章,转载请附上博文链接!

### 如何配置或修改 `~/.zshrc` 和 `~/.bash_profile` 文件 #### 配置 `.zshrc` 文件 `.zshrc` 是 Z Shell 的主要配置文件,用于定义环境变量别名和其他自定义设置。以下是具体操作: 1. **打开并编辑 `.zshrc`** 使用文本编辑器(如 Vim 或 Nano)打开该文件: ```bash vim ~/.zshrc ``` 2. **添加环境变量** 如果需要设置新的环境变量,可以按照以下格式添加: ```bash export VARIABLE_NAME=value ``` 例如,设置 Java 家目录: ```bash export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home ``` 3. **添加路径到 `$PATH`** 若要将某个目录加入系统的可执行路径中,可以这样写: ```bash export PATH=$PATH:/new/directory/path ``` 4. **定义别名** 别名可以帮助简化常用命令的操作: ```bash alias ll='ls -la' alias gs='git status' ``` 5. **启用其他配置文件** 若希望加载旧的 Bash 配置文件(如 `.bash_profile`),可以在 `.zshrc` 中通过以下方式实现: ```bash [[ -f ~/.bash_profile ]] && source ~/.bash_profile ``` 此外,在 macOS Catalina (10.15) 及更高版本上,默认情况下不再自动加载 `.bash_profile`[^3]。 6. **应用更改** 编辑完成后保存文件,并重新加载配置以使更改生效: ```bash source ~/.zshrc ``` --- #### 配置 `.bash_profile` 文件 `.bash_profile` 主要适用于基于 Bash 的终端会话初始化过程中的全局和用户特定设置。 1. **打开并编辑 `.bash_profile`** 类似于 `.zshrc`,可以通过以下命令编辑此文件: ```bash nano ~/.bash_profile ``` 2. **设置环境变量** 添加必要的环境变量声明语句: ```bash export MAVEN_HOME=/path/to/maven export GRADLE_HOME=/path/to/gradle ``` 3. **扩展 `$PATH`** 更新 `$PATH` 来包含新工具的位置: ```bash export PATH=$MAVEN_HOME/bin:$GRADLE_HOME/bin:$PATH ``` 4. **创建快捷命令** 设置一些常用的 shell 命令缩写形式作为别名: ```bash alias gp='git push origin main' alias grv='git remote -v' ``` 5. **导入额外脚本** 当存在多个辅助性的启动脚本时,可通过如下指令引入它们的内容: ```bash if [ -f ~/.bashrc ]; then . ~/.bashrc fi ``` 6. **激活改动后的配置** 修改完毕之后记得刷新当前 session 才能立即看到效果: ```bash source ~/.bash_profile ``` 注意:如果正在使用的操作系统已经切换至 zsh,则可能需要手动调整逻辑来确保这些设定仍然有效[^4]。 --- ### 示例代码片段展示 下面分别给出两个例子供参考学习如何正确编写上述提到的相关部分。 **针对 `.zshrc`:** ```bash # 导入 bash profile 支持向后兼容性 [[ -r "$HOME/.bash_profile" ]] && . "$HOME/.bash_profile" # 自定义提示符样式 export PROMPT='%F{blue}%n@%m%f %F{yellow}%~$%f ' # 开启历史记录功能增强选项 HISTSIZE=10000 SAVEHIST=10000 setopt INC_APPEND_HISTORY TIME_STAMPS ``` **面向 `.bash_profile`:** ```bash # 初始化基本开发框架支持 if [ -d "/usr/local/opt/python/libexec/bin/" ];then export PATH="/usr/local/opt/python/libexec/bin/:$PATH" fi # 加载 rbenv Ruby 版本管理插件 eval "$(rbenv init -)" ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值