前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Mac】Mac下配置zsh环境变量

【Mac】Mac下配置zsh环境变量

作者头像
DDGarfield
发布2022-06-23 19:45:50
9.3K0
发布2022-06-23 19:45:50
举报
文章被收录于专栏:加菲的博客加菲的博客

Mac的使用中过程中,有许多需要增加环境变量的情况。比如配置go的私有仓库GOPRIVATE,以及校验服务器GOSUMDB。按照习惯我们都会搜索一下 "mac下如何修改环境变量"。

1.问题-环境变量不生效

mac中默认使用的是zsh终端,按照一般的修改环境变量的方法:

代码语言:javascript
复制
vim ~/.bash_profile
export GOSUMDB=sum.golang.google.cn
export GOPRIVATE=git.querytest.com #模拟

wq后,执行

代码语言:javascript
复制
source ~/.bashrc

发现环境变量确实写到.bash_profile文件里面了,通过source ~/.bashrc也确实生效了,但是一旦关闭这个执行的终端后:

代码语言:javascript
复制
go env
GOSUMDB=""
GOPRIVATE=""

没有生效。

2.mac的环境变量加载顺序

Mac系统的环境变量,加载顺序为:

代码语言:javascript
复制
/etc/profile
/etc/paths 
/etc/paths.d/
~/.bash_profile 
~/.bash_login
~/.profile
~/.bashrc
  • /etc/profile:系统级的,系统启动即加载;
  • /etc/paths:系统级的,系统启动即加载;
  • /etc/paths.d/:系统级的,系统启动即加载;
  • 后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取:
    • 如果**~/.bash_profile**文件存在,则后面的几个文件就会被忽略不读了,
    • 如果**~/.bash_profile**文件不存在,才会以此类推读取后面的文件。
  • **~/.bashrc**没有上述规则,它是bash shell打开的时候载入的。
  • 修改用户的环境变量,只对当前用户有效, ~/.bash_profile与~/.bashrc都可以。

3.问题解决

如上所述,mac中默认使用的是zsh终端,所以上面的的环境变量增加方法只适用于bash,在zsh中不生效。

解决方案

~/.zshrc中写入一样的环境变量:

代码语言:javascript
复制
vim ~/.zshrc
export GOSUMDB=sum.golang.google.cn
export GOPRIVATE=git.querytest.com #模拟
source ~/.zshrc

网上还有一种方法(本人没有尝试,不保证成功),在~/.zshrc里面链接bash_profile文件:

代码语言:javascript
复制
source .bash_profile
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 加菲的博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.问题-环境变量不生效
  • 2.mac的环境变量加载顺序
  • 3.问题解决
    • 解决方案
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档