ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

mac使用zsh终端环境变量配置无效的解决方案

2021-03-15 22:03:37  阅读:506  来源: 互联网

标签:profile 文件 source etc mac zsh 环境变量 bash


创建 ~/.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只会对当前用户生效。

标签:profile,文件,source,etc,mac,zsh,环境变量,bash
来源: https://blog.csdn.net/qq_37150393/article/details/114854180

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有