最近在centos7安装jdk时发,在/etc/profile配置完jdk,每次重开命令行,或者换登录用户时每次都要source 才能生效。很头疼的问题。多方百度查询终于找到解决方法。
前提:
如果嫌麻烦直接安装rpm版本的jdk,直接解决问题!
问题描述:
因为作者安装的是tar.gz版本jdk,所以需要配置环境变量,直接编辑 /etc/profile,然后source /etc/profile。这是当前的命令行是可以使用java命令的,但是重开一个终端或者换登录用户后就需要重新source /etc/profile!
一些知识:
/etc/profile:在登录时,操作系 统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
/etc /environment:在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。
~/.profile: 在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
解决方法:
在/etc/bashrc文件中添加以下代码:source /etc/profile
这样每次运行shell终端都会自动执行 source /etc/profile了