linux系统配置环境变量
今天来回馈社会一波。介绍下centos7里如何通过配置文件来定义环境变量,上干货!
首先说明一下哈,通过配置文件来定义的环境变量,是所有用户都能够使用的(任意用户退出系统,变量仍能继续生效被使用)。而通过指令来定义的环境变量,只能在当前用户的本次登录中可以使用(当前用户退出重登后,定义的变量就无效了,见末尾最后一张图)。
下面开始介绍配置文件怎么定义环境变量:
1、查看当前都配有哪些系统环境变量,输入env指令:
2、假设我们现在要给安装好的jdk配置环境变量,即要将jdk的bin目录所在路径(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64/jre/bin)加到系统环境变量PATH中。故要先找到bin目录,若是手动安装的jdk,那么jdk的bin目录就在jdk安装包的解压路径下;若是通过yum install 的方式来安装的jdk,则需要通过which 指令配合ls 指令来先找到jdk的bin目录所在路径:
①which java //得到: /usr/bin/java
② ls -lrt /usr/bin/java //得到: /etc/alternatives/java
③ls -lrt /etc/alternatives/java //最终得到bin目录的路径 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64/jre/bin/`,
实际操作如下:
3、开始将jdk的bin目录的上一级目录 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64/jre设置为一个新的环境变量JAVA_HOME,并将JAVA_HOME加入到系统环境变量PATH中。之所以是把bin目录的上一级目录定为新的环境变量,而不是直接把bin目录定为新的环境变量,是为了以后给新安装的jdk定义环境变量时只需改变JAVA_HOME里的值即可,就不用动环境变量PATH里的配置了:
方法一(此方法能用,但官方不太建议):
①打开环境变量的配置文件:
vim /etc/profile
②在配置文件的的前面或是末尾加入这两行:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64/jre
export PATH=$PATH:$JAVA_HOME/bin
配置文件的实际操作如下(图中第1点为要配置的内容,图中第2点为介绍方法一不好的原因):
③重新进终端或是重新加载配置文件“source /etc/profile”。因为设置好环境变量JAVA_HOME,马上用“echo $JAVA_HOME”是输出不了该环境变量的值的,配置文件要生效才行,如下两图:
方法二(修改会被profile文件自动调用的/etc/profile.d目录下的配置文件,官方建议用此方法):
①进到调用路径 /etc/profile.d下:
cd /etc/profile.d
②在调用路径下新建一个配置文件java-home.sh:
vim java-home.sh
③在java-home.sh文件里添加下面两行内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64/jre
export PATH=$PATH:$JAVA_HOME/bin
实际操作过程如下图:
④重新进终端或是重新加载配置文件“source /etc/profile”。可以看到定义的JAVA_HOME环境变量跟方法一样能生效:
至此结束了。
附1:下图为设置临时环境变量的方法。先定义一个变量hahh,再用export指令将hahh变量临时设为环境变量,用echo来测试hahh环境变量是否生效,再重登来测试临时生效的环境变量(仅通过指令来定义,未写配置文件)的有效期:
附2:不能联网情况下,通过本机的系统映像文件来安装jdk的方法(即本地yum源的方式):
yum -y list java* ---------查看本机映像文件里可安装的jdk版本
yum -y install java-1.8.0-openjdk-devel.x86_64 -------安装想要的jdk版本
下次见,各位!(^^)
--------原创文