Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Mac】Mac下配置zsh环境变量

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

作者头像
DDGarfield
发布于 2022-06-23 11:45:50
发布于 2022-06-23 11:45:50
11.7K00
代码可运行
举报
文章被收录于专栏:加菲的博客加菲的博客
运行总次数:0
代码可运行

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim ~/.bash_profile
export GOSUMDB=sum.golang.google.cn
export GOPRIVATE=git.querytest.com #模拟

wq后,执行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source ~/.bashrc

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
go env
GOSUMDB=""
GOPRIVATE=""

没有生效。

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/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
代码运行次数:0
运行
AI代码解释
复制
vim ~/.zshrc
export GOSUMDB=sum.golang.google.cn
export GOPRIVATE=git.querytest.com #模拟
source ~/.zshrc

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

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
转载:(Mac)在bash和zsh配置环境变量path的几种方法
老习惯,列出本文参考或引用或转载的文档和博客,致以崇高的敬意,感兴趣的可以去看看 1.http://postgresapp.com/ 2.http://postgresapp.com/documentation/cli-tools.html 3.http://www.yiibai.com/postgresql/2013080439.html 4.终极 Shell——ZSH: https://zhuanlan.zhihu.com/p/19556676 5.Zsh安装配置指南 http://www.linuxidc.com/Linux/2013-09/90377.htm
Zachary46
2018/12/24
3.1K0
Mac下配置环境变量重启后不生效解决方法
1)/etc/paths (全局建议修改这个文件 ) 编辑 paths,将环境变量添加到 paths文件中 ,一行一个路径 Hint:输入环境变量时,不用一个一个地输入,只要拖动文件夹到 Terminal 里就可以了。
码客说
2019/10/22
10.7K0
mac 添加环境变量
其中a和b是系统级别的,系统启动就会加载,其余是用户接别的。c,d,e按照从前往后的顺序读取,如果c文件存在,则后面的几个文件就会被忽略不读了,以此类推。~/.bashrc没有上述规则,它是bash shell打开的时候载入的。这里建议在c中添加环境变量,以下也是以在c中添加环境变量来演示的。
用户5670327
2019/06/22
4.5K0
[醉了]解决重启mac但是bash_profile不生效的彻底解决方法
换了mac也一段时间了,mac到手后,第一件事就是配置jdk和maven环境变量。但是每次想在命令行下使用到java明令或者maven明令的时候,都会提示没有安装jdk或者找不到JAVA_HOME变量。
手撕代码八百里
2021/04/20
6.5K0
[醉了]解决重启mac但是bash_profile不生效的彻底解决方法
Ubuntu 环境变量及 ADB 配置
同Windows一样,Ubuntu Linux系统包含两类环境变量:系统环境变量和用户环境变量。系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。
阳光岛主
2019/02/19
3.4K0
15. mac安装多版本jdk
Mac的JDK都是安装到一个指定目录的:/Library/Java/JavaVirtualMachines/,因此可以在这个目录下查看自己安装的所以JDK。
用户7798898
2021/11/11
1.5K0
15. mac安装多版本jdk
解决 Mac和Idea 终端关闭后,环境变量失效,每次都需source ~/.bash_profile 问题
问题 ll 命令可以查看该文件夹下的所有文件信息,包括隐藏的文件, 但当使用此命令时却出现报错
全栈程序员站长
2022/07/19
2.2K0
解决 Mac和Idea 终端关闭后,环境变量失效,每次都需source ~/.bash_profile 问题
Linux 修改环境变量
修改环境变量的方法大致分为两种,一种是使用 export 命令,一种是修改配置文件。
恋喵大鲤鱼
2022/05/09
3.5K0
环境变量详解
 在终端输入的命令行对应着应用程序,如果不是系统自带的命令,那么系统需要环境变量来定位应用程序所在的文件路径。
Fisherman渔夫
2020/02/18
1.3K0
mac使用zsh终端环境变量配置无效的解决方案
创建 ~/.bash_profile文件 vim ~/.bash_profile文件,进行环境变量的配置 完了之后使用zsh终端发现配置的环境变量还是无效,每次打开zsh都需要手动source ~/.bash_profile 解决方案:修改zsh的配置文件,让其在每次启动的时候来读取~/.bash_profile里面的配置。 vim~/.zshrc 在文件的最后面加上 source~/.bash_profile source ~/.zshrc 使其立即生效 OK~ profile(/etc/profile)
喜欢天文的pony站长
2020/06/29
5.5K1
mac使用zsh终端环境变量配置无效的解决方案
Shell中傻傻分不清楚的TOP3
近来小姐姐又犯憨憨错误,问组内小伙伴export命令不会持久化环境变量吗?反正我是问出口了。。然后小伙伴就甩给了我一个《The Linux Command Line》PDF链接。感谢老大不杀之恩~
Monica2333
2020/06/22
7530
mac下环境变量、maven3.1.1 及 jdk1.7.0.45配置
一、设置环境变量 1、打开终端,输入 cd ~ 2、输入 touch .bash_profile (如果该文件不存在,将创建一个空文件) 3、输入 open .bash_profile (调用记事本编辑该文件) 注:mac系统本质是linux,因此linux设置环境变量的办法,通常也适用于mac. 一般来讲,有3个地方可以设置环境变量 a) /etc/profile 文件(需要管理员权限) b) ~/.bashrc c) ~/.bash_profile 如果mac的终端采用第三方的终端工具,比如zsh,则环
菩提树下的杨过
2018/01/24
8860
Ubuntu系统环境变量详解
<p align="left">使用Ubuntu 进行开发绕不开的就是环境变量的配置,由于Linux系统严格的权限管理,造成Ubuntu系统有多个环境变量配置文件,如果不了解其调用顺序,很有可能遇到配置了环境变量,而没有其作用的问题。本文将介绍Ubuntu Linux系统的环境变量。
用户8705048
2021/06/08
2.1K0
Linux环境变量说明与配置
  /etc/profile     范围:对所有用户生效     作用:       a.定义USER变量       b.定义LOGNAME变量       c.定义MAIL变量       d.定义PATH变量       e.定义HOSTNAME变量       f.定义HISTSIZE变量       g.定义umask值       i.调用/etc/profile.d/*.sh文件   /etc/profile.d/*.sh     范围:对所有用户生效     说明:这是一族sh文件,没个都会被调用     例如:       /etc/profile.d/lang.sh       作用:调用/etc/sysconfg/i18n设置语言环境   ~/.bash_profile     范围:用户自己的家目录,对自己生效     作用:       a.调用 ~/.bashrc文件       b.在PATH变量后加入了":$HOME/bin"这个目录   ~/.bashrc     范围:用户自己的家目录,对自己生效     作用:       a.定义alias别名       b.调用/etc/bashrc   /etc/bashrc     范围:对所有用户生效     作用:       a.定义PS1变量(登录以后的提示符样式)       b.如果是无密码登录,则         定义umask值         定义PATH变量         调用/etc/profile.d/*.sh文件
Lansonli
2021/10/09
1.1K0
修改环境变量
通过 Shell 命令 export 直接修改 Linux 环境变量 使用 export 设置的变量,只对当前终端 Shell 有效 适合设置一些临时变量
JNingWei
2018/09/28
1.6K0
超详干货!Linux 环境变量配置全攻略
在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法。
程序员白楠楠
2020/12/10
1.8K0
mac Hadoop环境变量配置
一般在Mac上配置环境变量时经常要创建、编辑 .bash_profile文件。 创建该文件时一般都会选择在当前用户目录下,即Mac下的.bash_profile 文件的路径是 /Users/YourMacUserName/.bash_profile (如果该文件已经创建过的话)
全栈程序员站长
2022/06/25
5350
linux(11)配置环境变量「建议收藏」
该方法修改系统配置,需要管理员权限或者对该文件的写入权限,和vim /etc/bashrc类似:
全栈程序员站长
2022/09/19
5800
解决在/etc/porfile下设置环境变量以后zsh没有起效的问题
今天在添加java的环境变量的时候,我在/etc/profile添加了环境变量,因为我使用的是zsh,在source /etc/profile以后,zsh的主题和插件都没有了,java -version以后出现旗标信息,以为可以了,但是没有主题就很难受,重启shell。java -version提示没有此命令,懵~
kevinfaith
2018/09/18
4.5K0
Linux 环境变量配置全攻略
在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法。
程序员白楠楠
2020/11/22
1.3K0
相关推荐
转载:(Mac)在bash和zsh配置环境变量path的几种方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验