关于linux配置环境变量

一、直接更改环境变量PATH

1、配置PATH环境变量(临时)
cat /etc/environment

在这里插入图片描述

我没写redis的环境变量的情况下

直接添加环境变量(切换用户时失效)

export PATH=/etc/redis/bin:$PATH(类比可以直接打export,对显示的所有的变量进行临时更改)
以下例子可以看出,直接export变量参数只是临时,并不会直接更改environment文件

关于linux配置环境变量_第1张图片

2、直接添加进PATH环境变量(永久,个人不推荐)

和1一样,那么直接添加/etc/environment,加载系统变量直接把我们添加的也加载

sudo vi /etc/environment
//将以下追加至PATH变量
:/etc/redis/bin

注意:需要重新加入用户或者注销或者重启才生效。

以下例子可以看出,追加至系统环境变量后是不会立即生效的但是切换用户之后是永久生效

关于linux配置环境变量_第2张图片

二、配置单用户环境变量(永久)

注意:source = “.”。
redis.sh中命令为export PATH=$PATH:/etc/redis/bin
//打开当前登录的用户环境配置文件
vi ~/.bashrc

添加以下可选命令

1、自动加载用户环境时,会自动加载profile文件,和“-”效果一样,这时切换用户可以直接su xiaoming(单用户永久)

. /etc/profile

2、自动加载用户环境时,会加载指定目录的脚本文件。(单用户永久)

当然这个文件的目录也在profile.d下,redis.sh放到其他目录也可以。同上不需“-”自动加载
. /etc/profile.d/redis.sh

3、和上面的一样。只是把redis.sh里的命令放进去,但这也就意味着这个环境变量是真正的只属于当前用户(单用户永久)

export PATH=$PATH:/etc/redis/bin

/etc/profile文件需要切换用户时加“-”才会加载
关于linux配置环境变量_第3张图片

三、配置所有用户的PATH环境变量(永久)

/etc/profile和/etc/profile.d都是针对所有用户的。但切换用户需
在此基础上

1、直接添加进/etc/profile中(永久)

 sudo vi /etc/profile
 //将添加目标环境变量
 //例如
 PATH=$PATH:/etc/redis/bin

//重新加载环境变量
su - 用户名
以下例子可以看出,即使更改了所有用户的环境配置,是需要重新加载的!

关于linux配置环境变量_第4张图片

2、直接添加进/etc/profile.d中(推荐!)

这个文件其实是由profile执行的,打开可以看到

关于linux配置环境变量_第5张图片

基于此,我们可以直接床一个.sh脚本文件在profile.d中即可
下面举redis.sh做例子
//创建脚本文件
sudo vi /etc/profile.d/redis.sh
//写入插入环境变量命令
export PATH=$PATH:/etc/redis/bin
//执行脚本文件(立即生效)
source /etc/profile.d/redis.sh
以下例子可以看出这个是最为方便的!直接添加然后运行即可,而且是永久的且方便管理。

关于linux配置环境变量_第6张图片

四、小结

以上实验可以看出。
单用户环境变量.bashrc文件只针对本用户的配置,而profile.d和profile文件则是所有用户的配置。
但是以上文件实质上是对系统环境变量在每次切换用户或者重启时进行重写,而不是直接更改对环境变量更改。

五、类推实验

以此类推,那么我们对于系统的其他参数也可以直接在profile或者profile.d直接对系统环境变量进行重写,这样既不会影响到原始的系统环境,同时也可以实现我们想要的效果。
//查看当前环境变量
export -p

关于linux配置环境变量_第7张图片

1、临时更改系统变量测试——更改语言

//更改为中文环境
export LC_ALL=zh_CN.UTF-8

2、永久更改系统变量测试——应用程序界面语言

sudo vi /etc/profile.d/language.sh
//加入以下代码
export LC_ALL=zh_CN.UTF-8

linux手册:https://www.runoob.com/linux/linux-comm-export.html
profile和enviroment比较:https://www.cnblogs.com/x_wukong/p/4771316.html
系统语言介绍:https://blog.csdn.net/mikyz/article/details/74004504

你可能感兴趣的:(linux,自制教程,环境变量)