在window中,配置jdk环境变量就是将java的bin路径追加到PATH的结尾。在centos中也有PATH,当在任意目录执行命令的时候,会从PATH的各个路径中去寻找这个命令文件并执行,如果找不到则无法执行。注意,centos区分大小写。
查看PATH变量
echo $PATH:显示PATH变量的值。echo是显示的意思,$是获取变量值。
显示结果中':'是分隔符,window中是';' 此时系统默认已经配置了几个PATH路径,其中一个就是第四篇说的/usr/bin。
注意:红框前面的路径是系统PATH,这是对所有用户都有效的。而红框/root/bin很明显是root用户专用的PATH。
修改PATH变量
假设现在没有java环境,直接将解压的jdk复制/root/jdk。要执行/root/jdk/bin中的java命令,可以将/root/jdk/bin添加到PATH变量中。
PATH=$PATH:/root/jdk/bin:给PATH变量重新赋值,取$PATH值作为开头,在结尾追加:/root/jdk/bin。此时再执行java命令,就能够从/root/jdk/bin中找到java文件并且执行。
注意:以上方式只是修改了当前命令行环境的PATH变量,如果你同时开两个putty窗口,登录同一个用户,其中一个改了PATH,另一个是不知道的。并且当你重新登录时,又会回到修改前的环境。
/etc/profile永久修改系统PATH
系统PATH是在/etc/profile文件中配置的,在这个文件的结尾加上PATH=$PATH:/root/jdk/bin,就可以永久修改PATH。以后登录环境都会生效,但是当前已登录环境不会立即生效,可以执行 su - username命令,就会重新登录并刷新环境。
并不建议随意修改这个重要的系统文件,可以使用下面的用户PATH或符号链接来代替,符号链接以后会介绍。
.bash_profile永久修改用户PATH
在/etc/profile中配置PATH会对所有用户生效,如果要配置用户专有PATH需要修改.bash_profiled,在每个用户的专用目录下都有这个隐藏文件。
ll -a:之前讲过,-a就是显示隐藏文件。
cat ./.bash_profile:查看这个文件的内容,每当用户登录时,都会重新赋值红框中的PATH变量。分析下红框中的内容:
$PATH:在用户登录时,获取系统中的PATH变量值。
$HOME:执行echo $HOME可以看到它的值,它就是当前用户的专用目录,这里是/root。
$HOME/bin:即/root/bin,也就是在最开头我讲到的用户专用PATH,就是在这里追加到系统PATH结尾的。
只需要在这个PATH=的结尾追加:/root/jdk/bin,即可将自定义路径追加到PATH。
之后仍然 需要执行su - 重新登录用户,才能刷新当前环境。