X-zcer / PIT-with-RTS

0 stars 0 forks source link

(七十二)linux配置环境变量(比如java)不生效的解决办法 #73

Open X-zcer opened 5 years ago

X-zcer commented 5 years ago

(1)没解决问题,但值得阅读 原因分析: linux登录是读取环境配置文件的顺序如下 /etc/profile ~/.bash_profile ~/.bash_login ~/.profile 而项目组配置文件就/etc/profile,.bashrc两个,而忽视了对其他配置项的检查,前面配置的JAVA_HOME在~/.profile中覆盖了,导致了前面所描述的问题 (~/.bash_profile在SUSE中这个文件命名为.bashrc)

(2)解决了问题 把export PATH=${PATH}:${JAVA_HOME}/bin改为export PATH=${JAVA_HOME}/bin:${PATH}

X-zcer commented 5 years ago

在Ubuntu中有如下几个文件可以设置环境变量 1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此 文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 2、/etc/environment:在登录时操作系统使用的第二个文件,系统在 读取你自己的profile前,设置环境文件的环境变量。 3、~/.bash_profile:在登录时用到的第三个文件是.profile文 件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用 户登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变游戏量,执 行用户的.bashrc文件。/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该 文件被读取. 4、~/.bashrc:该文件包含专用于你的bash shell的bash信 息,当登录时以及每次打开新的shell时,该该文件被读取。

几个环境变量的优先级

1>2>3

设置永久环境变量

1.环境变量配置中,要先删除.bash_profile中的三行关于.bashrc的 定义,然后把环境变量配置在.bashrc中 2.选择要使用的java环境:update-alternatives –config java 3.要使得刚修改的环境变量生效:source .bashrc 4.查看环境变量:env

可以放到/etc/bash/bashrc,这样就是系统级的