环境变量是指在操作系统中拿来指定操作系统运行环境的参数,如指定文件位置。例如java开发人员常常须要设置JAVA_HOME。下边就通过设置java的环境变量来说明怎样在centos系统下设置环境变量
1.本教程以java环境变量为例来说明,首先在没有设置环境变量之前,先执行下java-version命令,提示找不到,如今只能在java的bin目录下执行,在设置完环境变量以后linux 和 su 的使用 环境变量详解,就可以在任意目录下执行了,这也是环境变量的用途
2.方式一(针对所有用户长久生效):vi/etc/profile编辑文件,添加变量参数
ps:更改enviroment也可以,vi/etc/profileexportmypath=${PATH}:/home/ubuntu跟在系统
3.更改完成以后,没有马上生效,立刻生效,须要输入命令source/etc/profile或则(.空格文件名也可以)
使用echo命令查看刚才设置的环境变量参数,瞧瞧值是否早已设置进去(ps:ubuntu下source以后会生效,并且重新打开shell就无效了,重启可解决问题)
4.再度执行java-version,则可以见到,java命令已然可以正常执行了linux社区,说明添加的环境变量参数早已生效
5.方式二(针对当前用户长久生效):用户目录下的.bash_profile文件使用vi命令编辑文件,添加变量参数(参数同上),(点开头表示隐藏文件,可以ls-al查看)
输入命令vim~/.bash_profile,~号表示当前用户home目录
ps:通过更改.bashrc文件vim~/.bashrc,在最后一行添上:
exportPATH=/home/ubuntu:$PATH也可以
最后source~/.bash_profile生效
**.bash_profile文件存在于用房主目录下,为/home/$name/.bash_profile
.bash_profile文件是隐藏文件,上面包含的是用户的用户的环境变量。
在/home下的用户文件夹下,查看一下隐藏文件
这个文件不一定存在,假如存在,就在~/,即~/.bash_profile但也很可能不存在,这时创建一个空文件,加入自己想要的内容就行。Linux中的配置文件好多都是这样,是要在须要时构建的,而程序在没有这种配置文件时,也可能正常运行。**有的发行版为.bashrc红旗linux6.0,有的则为.bash_profile
6.方式三(针对当前登入会话有效,关掉以后上次登陆shell就无效了):直接将里面的export命令执行一遍。这些方法最简便,适宜临时设置环境变量使用
7.没有加入到环境变量上面可以试着./hello.txt执行
8.参考:为何我使用source/etc/profile这个命令以后,新的环境变量只能在一个终端上面有效?
诸位大虾:
我从网上获知,在ubuntu中,使用source/etc/profile命令可以使新构建的环境变量立即生效而不用重新启动系统linux 和 su 的使用 环境变量详解,并且
如题,当我使用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环境变量
exportLD_LIBRARY_PATH=/home/zzm/installs/BALL/BALL-1.2/lib/Linux-i386-g++_4.1.3
exportBALL=/home/zzm/installs/BALL/BALL-1.2
--------------------------------------
不晓得这是如何回事,其实,我将系统重新启动以后,环境变量就都生效了,无论在那个终端上面都有效了。
请问,怎样在不重新启动系统的情况下,将环境变量生效,并且是永久生效,不再出现我以上碰到的问题?
我加到自己的~/.bashrc里,而且重新登陆了,每次打开终端执行命令,发觉环境变量确实生效了,而且我在应用程序上面实验的时侯,例如在Java中调用系统命令,环境变量又失效了。
是不是加到自己的~/.bashrc里的环境变量只是对bash等shell有效,而不是真正的对整个系统有效?
==========================================================================
…17547.html
在Ubuntu中有如下几个文件可以设置环境变量
1、/etc/profile:在登陆时,操作系统订制用户环境时使用的第一个文件,此文件为系统的每位用户设置环境信息,当用户第一次登陆时,该文件被执行。
2、/etc/environment:在登陆时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。
3、~/.bash_profile:在登陆时用到的第三个文件是.profile文件,每位用户都可使用该文件输入专用于自己使用的shell信息,当用户登陆时,该文件仅仅执行一次!默认情况下,他设置一些环境变游戏量,执行用户的.bashrc文件。/etc/bashrc:为每一个运行bashshell的用户执行此文件.当bashshell被打开时,该文件被读取.
4、~/.bashrc:该文件包含专用于你的bashshell的bash信息,当登陆时以及每次打开新的shell时,该该文件被读取。
几个环境变量的优先级
1>2>3
设置永久环境变量
1.环境变量配置中,要先删掉.bash_profile中的三行关于.bashrc的定义,之后把环境变量配置在.bashrc中
2.选择要使用的java环境:update-alternatives–configjava
3.要促使刚更改的环境变量生效:source.bashrc
4.查看环境变量:env
可以放在/etc/bash/bashrc,这样就是系统级的
(图形界面和非图形界面有区别的)