Linux下如何修改环境变量(重启shell或者重启整个系统)

环境变量是指在操作系统中用来指定操作系统运行环境的参数,如指定文件位置。比如java开发人员经常需要设置JAVA_HOME。下面就通过设置java的环境变量来说明如何在centos系统下设置环境变量
1.本教程以java环境变量为例来说明,首先在没有设置环境变量之前,先执行下java -version命令,提示找不到,现在只能在java的bin目录下执行,在设置完环境变量之后,就可以在任意目录下执行了,这也是环境变量的用途
在这里插入图片描述
2.方法一(针对所有用户长久生效):vi /etc/profile编辑文件,添加变量参数
ps:修改enviroment也可以, vi /etc/profile export mypath=${PATH}:/home/ubuntu跟在系统
在这里插入图片描述
在这里插入图片描述
3.修改完成之后,没有马上生效,立即生效,需要输入命令source /etc/profile
使用echo命令查看刚刚设置的环境变量参数,看看值是否已经设置进去(ps:ubuntu下source之后会生效,但是重新打开shell就无效了,重启可解决问题)

在这里插入图片描述
4.再次执行java -version,则可以看到,java命令已经可以正常执行了,说明添加的环境变量参数已经生效
在这里插入图片描述
5.方法二(针对当前用户长久生效):用户目录下的.bash_profile文件使用vi命令编辑文件,添加变量参数(参数同上),(点开头表示隐藏文件,可以ls -al查看)
输入命令vim ~/.bash_profile ,~号表示当前用户home目录
ps:通过修改.bashrc文件 vim ~/.bashrc ,在最后一行添上:
export PATH=/home/ubuntu:$PATH也可以
最后source ~/.bash_profile生效
在这里插入图片描述
6.方法三(针对当前登录会话有效,关闭之后下次登录shell就无效了):直接将上面的export 命令执行一遍。这种方式最简便,适合临时设置环境变量使用
在这里插入图片描述
7.没有加入到环境变量里面可以试着./hello.txt执行

8.参考:为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效?

各位大虾:
我从网上得知,在ubuntu中,使用source /etc/profile命令可以使新建立的环境变量立刻生效而不用重新启动系统,但是
如题,当我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效,而当我把这个终端关闭重新再
打开另一个终端时,刚才有效的环境变量就没了。

我的过程如下:
打开一个终端,输入命令:
$ source /etc/profile
$ echo $LD_LIBRARY_PATH
/home/zzm/installs/BALL/BALL-1.2/lib/Linux-i386-g++_4.1.3
(可见我在/etc/profile文件里面配置的环境变量生效了)

然后,我把这个终端关闭了,再打开一个终端,输入同样的“echo $LD_LIBRARY_PATH”,就什么都没有显示,显然,环境
变量又变得失效了。

我是在/etc/profile里面添加了下面的内容来设置环境变量的:
--------------------------------------
#设置BALL环境变量
export LD_LIBRARY_PATH=/home/zzm/installs/BALL/BALL-1.2/lib/Linux-i386-g++_4.1.3
export BALL=/home/zzm/installs/BALL/BALL-1.2
--------------------------------------

不知道这是怎么回事,总之,我将系统重新启动之后,环境变量就都生效了,无论在哪个终端里面都有效了。

请问,如何在不重新启动系统的情况下,将环境变量生效,而且是永久生效,不再出现我以上遇到的问题?

我加到自己的 ~/.bashrc 里,并且重新登录了,每次打开终端执行命令,发现环境变量确实生效了,但是我在应用程序里面实验的时候,比如在Java中调用系统命令,环境变量又失效了。

是不是加到自己的 ~/.bashrc 里的环境变量只是对bash等shell有效,而不是真正的对整个系统有效?

==========================================================================

http://www.cnblogs.com/BigIdiot/archive … 17547.html

在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,这样就是系统级的

https://www.cnblogs.com/BigIdiot/archive/2012/03/26/2417547.html
https://blog.csdn.net/k393393/article/details/92077240
https://bbs.deepin.org/forum.php?mod=viewthread&tid=143895(图形界面和非图形界面有区别的)

发布了24 篇原创文章 · 获赞 1 · 访问量 1788

猜你喜欢

转载自blog.csdn.net/qq_27182175/article/details/102479634