Centos 环境变量/etc/profile和/etc/profile.d

结论:

     1. 两个文件都是设置环境变量的文件。

     2. /etc/profile 是永久性的环境变量,是全局变量,/etc/profile.d/ 设置对所有用户生效 

     3. /etc/profile.d/ 比 /etc/profile 好维护。不想要什么变量直接删除/etc/profile.d/下对应的.sh  shell脚本即可,不用像/etc/profile需要改动此文件

 

区别:

    /etc/profile  是文件

    1:只有Login shell 启动时才会运行 /etc/profile 这个脚本,而Non-login shell 不会调用这个脚本。

     说明:当一个用户登录Linux系统或使用su -命令切换到另一个用户时,也就是Login shell 启动时,首先要确保执行的启动脚本就是 /etc/profile 。

     2:在/etc/profile 文件中设置的变量是全局变量。

 

   /etc/profile.d 文件夹-下面包含很多.sh 脚本

   1 .在/etc/profile.d 目录中存放的是一些应用程序所需的启动脚本,而这些脚本文件是用来设置一些变量和运行一些初始化过程的。其中包括了颜色、语言、less、vim及which等命令的一些附加设置。

   2. /etc/profile.d 下的脚本之所以能自动执行,是因为在/etc/profile 中有一个for循环语句来调用这些脚本。

      调用脚本如下:

[root@localhost ~]# vi /etc/profile
# /etc/profile

for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null
        fi
    fi
done

例 java环境配置

     环境: centos7.5   jdk1.8

     1 .上传解压jdk至:/usr/local/jdk/jdk1.8 目录

#jdk路径
[root@localhost ~]# cd /usr/local/jdk/jdk1.8/
[root@localhost jdk1.8]# pwd
/usr/local/jdk/jdk1.8

     2.  环境变量配置

        方式一:/etc/profile 配置

[root@localhost ~]# vi /etc/profile

#最后添加下面内容
export JAVA_HOME=/usr/local/jdk/jdk1.8
export PATH=.:$JAVA_HOME/bin:$PATH

       方式二:/etc/profile.d 配置

[root@localhost ~]# vi /etc/profile.d/java.sh

#java jdk1.8 env
export JAVA_HOME=/usr/local/jdk/jdk1.8
export PATH=.:$JAVA_HOME/bin:$PATH

 

 

 

 

 

 

 

 

你可能感兴趣的:(JAVA)