linux系统环境变量的设置

1.Linux系统支持3种环境变量的设置

  1. 临时环境变量:只对当前终端有效
  2. 用户环境变量:仅对当前登录用户有效
  3. 系统环境变量:对所有人有效

以gcc和java的环境变量举例

JAVA_HOME=/usr/local/java8
GCC8_HOME=/usr/local/gcc7

临时环境变量:只对当前终端有效

在当前终端中直接输入:

JAVA_HOME=/usr/local/java8
GCC8_HOME=/usr/local/gcc7
export PATH=$PATH:$JAVA_HOME/bin:$GCC8_HOME/bin

仅在当前终端有效

用户环境变量:仅对当前登录用户有效

终端执行: vim ~/.bashrc
在文件中添加:

JAVA_HOME=/usr/local/java8
GCC8_HOME=/usr/local/gcc7
export PATH=$PATH:$JAVA_HOME/bin:$GCC8_HOME/bin

终端执行:vim ~/.bashrc 生效,或注销重新登陆生效

系统环境变量:对所有人有效

终端执行:sudo vim /etc/profile
在文件中添加:

JAVA_HOME=/usr/local/java8
GCC8_HOME=/usr/local/gcc7
export PATH=$PATH:$JAVA_HOME/bin:$GCC8_HOME/bin

终端执行source /etc/profilec生效,或注销重新登录有效


2.Shell命令查看设置的所有环境变量:

$PATH
echo $PATH
printenv PATH

3. Ubuntu 包含两种环境变量:系统,用户

用户环境变量可以存储在以下文件中:

~/.profile
~/.bash_profile 或者 ~./bash_login
~/.bashrc

推荐将环境变量保存在~/.profile中

因为无论是通过控制台还是图形界面启动程序时,都会自动执行该文件。而/.bashrc,/.bash_profile,~/.bash_login这些文件,当通过shell启动程序时,他们也会被加载。但当通过图形界面环境启动程序时,这些文件中的环境变量设置便不可用了

系统环境变量可存储在以下文件中:

/etc/environment
/etc/profile
/etc/bash.bashrc
/etc/profile.d

其中,

/etc/profile和etc/profile.d都是常用的设置环境变量的地方

etc/profile.d文件来源于/etc/profile,在该目录下的*.sh,即以sh为后缀的文件都会被加载
类似的,不推荐使用/etc/bash.bashrc,因为在图形界面环境下启动程序时,不会加载里面的环境变量设置


4. 环境变量中覆盖系统默认的版本

若系统中默认安装了gcc和java,且不易删除时,而且自己又安装了更高的版本,这时想让系统用自己安装的而非系统安装的。

若系统如下设置:$PATH在前,优先使用系统的

JAVA_HOME=/usr/local/java8
GCC8_HOME=/usr/local/gcc7
export PATH=$PATH:$JAVA_HOME/bin:$GCC8_HOME/bin

若将$PATH放在后面,这样优先使用自己安装的

export PATH=$JAVA_HOME/bin:$GCC8_HOME/bin:$PATH

因为系统在环境变量中查找目标文件时,找到第一个发现的位置就会停止搜索。


5.linux设置环境变量后可能出现以下几个问题

a. 在当前终端有效,重启终端或新打开终端失效
b. 在root用户下有效,普通用户无效
c. 所有用户,任意终端都有效,但电脑重启后失效
d. 环境变量设置明明正确无误,但是显示的是以前的版本,而非当前设置的
e. 环境变量设置错误,导致原有的环境变量失效


本文参考:
1.https://blog.csdn.net/Jason_YBK/article/details/109172825
2.https://help.ubuntu.com/community/EnvironmentVariables

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值