source /etc/profile的深坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了source /etc/profile的深坑相关的知识,希望对你有一定的参考价值。

参考技术A

/etc/profile文件是linux系统的环境变量配置文件
详细的profile文件配置可以参考本人另一篇文章

一般理解的/etc/profile文件修改之后,只需要source一下可以让文件立即生效
以配置linux配置java8,因为linux自带的java7,然后想要升级到java8,

正常流程如下没有任何问题.
坑爹之处在如下:
当你假如又想用系统自带的1.7之后,然后将这个/etc/profile路径下的上面两行注释一下,然后进行source /etc/profile,你是不是正常以为这个就变成了1.7了,因为source是让这个配置文件立即生效,但是你java -version还是1.8
这和说明并没有生效,重启一下服务器,然后在java-version,终于变成了1.7

同样的类似还有我在配置spark全局变量时候,也是增加了,想要去除,只能是重启之后,才能够起作用
我的猜想:
这个是加载到内存里面,这个source是对新增的有效,所以我们增加新的,然后source一下可以,但是删除就不行,需要重启,因为需要把内存那个缓存干掉.

Linux下安装JDK

  1. 工具下载,这里就不必细说了,自己选择对应的版本下载
  2. 上传压缩包到Linux服务器(这里使用的是jdk1.7版本)
  3. 解压:tar -xzvf  jdk-7u55-linux-i586.tar

     技术分享

  

  4.压方式可直接使用,这里只需配置jdk环境变量就行,编辑/etc/profile文件,在末尾添加如下参数:

     技术分享

  5.保存退出,使用source /etc/profile使修改的环境变量立即生效

  6.测试,输入:java -version

    技术分享

 

以上是关于source /etc/profile的深坑的主要内容,如果未能解决你的问题,请参考以下文章

为啥每次进入命令都要重新source /etc/profile 才能生效

如何让/etc/security/user做的修改马上生效

解决`source /etc/profile`报错问题

sudonano/etc/apt/sources发现没源

修改/etc/profile或者$HOME/.profile文件后如何立即生效?

ubuntu18每次启动linux都要source /etc/profile生效java环境变量