微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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),用于设置系统级的环境变量和启动程序,在这文件下配置会对所有用户生效。当用户登录(login)时,文件会被执行,并从/etc/profile.d目录的配置文件中查找shell设置。
一般不建议在/etc/profile文件添加环境变量,因为在这文件添加的设置会对所有用户起作用。
bash_profile只有单一用户有效,文件存储位于~/.bash_profile,该文件一个用户级的设置,可以理解为某一个用户的profile目录下。这个文件同样也可以用于配置环境变量和启动程序,但只针对单个用户有效。
和profile文件类似,bash_profile也会在用户登录(login)时生效,也可以用于设置环境变理。但与profile不同,bash_profile只会对当前用户生效。

在linux下开发时,我们会经常安装很多环境,因为环境多,我们需要将其配置成全局命令,这样才好操作,配置成全局命令时,有一种方式是比较常用的:

vim /etc/profile 增加配置信息,然后source /etc/profile是之生效。的确当前终端环境下的确是生效了,但是打开新的终端会发现,怎么没有生效?是我配置没成功吗?不对呀,之前明明可以的。

这个时候,你只需要执行下面操作即可:

 vim ~/.bashrc 

 然后最后一行添加 source /etc/profile

场景介绍
打算在虚拟机上的MysqL上做下测试,在虚拟机的终端上输入MysqL,发现并不存在该命令。查看下/etc/profile文件内容,路径已经添加进去了,使用source /etc/profileg,再次输入MysqL,发现没问题了。然后想着关掉再打开一个终端试试,然后又发现MysqL这个命令不见了!!!也就是使用source /etc/profile仅在当前终端中有效。

解决办法

检查全局变量

[root@master ~]# vim /etc/profile

加载一次/etc/profile

[root@master ~]# source /etc/profile

编辑该文件添加source /etc/profile到末尾,每次打开bash都加载一次

[root@master ~]# vim ~/.bashrc

.bashrc

User specific aliases and functions

alias rm=‘rm -i’
alias cp=‘cp -i’
alias mv=‘mv -i’

Source global deFinitions

if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
source /etc/profile
重新打开终端或者重启主机,都能看到全局变量都是生效的了。

https://blog.csdn.net/weixin_36522099/article/details/106627641

/etc/profile 环境变量生效问题

设置了环境变量后 ,使用source /etc/profile生效后,每次关闭终端后,都需要重新输入source /etc/profile命令使环境变量生效,有这么坑的?

这个锅深度不背。而且你也不应该去动/etc/下的配置

修改~/.bashrc

cd /etc
vim ~/.bashrc
export PATH=$PATH:/home/landv/go/bin
source ~/.bashrc

创建 ~/.bash_profile文件

vim ~/.bash_profile文件,进行环境变量的配置

完了之后使用zsh终端发现配置的环境变量还是无效,每次打开zsh都需要手动source ~/.bash_profile

解决方案:修改zsh的配置文件,让其在每次启动的时候来读取~/.bash_profile里面的配置。 vim~/.zshrc 在文件的最后面加上 source~/.bash_profile

source ~/.zshrc 使其立即生效

OK~

profile(/etc/profile),用于设置系统级的环境变量和启动程序,在这文件下配置会对所有用户生效。当用户登录(login)时,文件会被执行,并从/etc/profile.d目录的配置文件中查找shell设置。 一般不建议在/etc/profile文件添加环境变量,因为在这文件添加的设置会对所有用户起作用。 bashprofile只有单一用户有效,文件存储位于~/.bashprofile,该文件一个用户级的设置,可以理解为某一个用户的profile目录下。这个文件同样也可以用于配置环境变量和启动程序,但只针对单个用户有效。 和profile文件类似,bashprofile也会在用户登录(login)时生效,也可以用于设置环境变理。但与profile不同,bashprofile只会对当前用户生效。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐