linux下的环境变量

来源:互联网 发布:android商城源码下载 编辑:程序博客网 时间:2024/04/29 05:02

 1. 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
Linux变量可分为两类:
1. 永久的:需要修改配置文件,变量永久生效。
2. 临时的:使用export命令行声明即可,变量在关闭shell时失效。
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。


2. 在用户目录下的.bash.profile文件中增加变量【对单一用户生效(永久的)】
用VI在用户目录下的.bash.profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
例如:编辑guok用户目录(/home/guok)下的.bash.profile
# vi /home/guok/.bash.profile
添加如下内容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行#source /home/guok/.bash_profile不然只能在下次重进此用户时生效。


3. 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】

在shell的命令行下直接使用[export变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。


Linux进入系统时自动设置环境变量的方法
用Export命令可以设置环境变量,但是如果每回进入系统之后都要重新设置一遍环境变量就很烦人。Linux给大家提供了自动设置环境变量的方法,那就是更改 .bashrc 文件。 一般说来,有两个文件可以提供这种“进入系统时自动设置”的功能,一个是 /etc/bashrc,另一个是 ~/.bashrc。其中/etc/bashrc是被每个用户执行的,而~/.bashrc只被当前用户执行。所以/etc/bashrc只有root用户能更改,而~/.bashrc是各个用户私有的文件。 "~"指的是用户的home目录。
在建立用户时,Linux会为其分配一个目录以供该用户使用。比如对"hjk41",该目录就是"/home/hjk41"。一般用户只能更改这个目录里的文件,这样各个用户之间不会互相干扰。因而 ~/.bashrc文件在这里就是 "/home/hjk41/.bashrc",如果有另外一名叫"hjk42"的用户,那么他的 .bashrc文件就是 "/home/hjk42/.bashrc"。
这样,各个用户有自己独立的".bashrc"文件,可以根据需要自行更改,而不会互相干扰。 /etc/bashrc文件则是共享的,整个Linux中只有一份。一般来说,用户的"~/.bashrc"开头都会调用/etc/bashrc,因此更改/etc/bashrc会影响到所有用户,这个文件一般是root用户管理的。
总之,Linux在用户登录时,会执行相应的.bashrc文件,比如我登录时,就会执行 /home/hjk41/.bashrc ,而这个文件先调用 /etc/bashrc。下面是一个简单的 .bashrc: if [ -f /etc/bashrc ]; then . /etc/bashrc fi export PATH=$PATH:/home/hjk41/bin 前面三行的意思是“如果/etc/bashrc这个文件存在,那么就执行它”,最后一行是我自己加的,用于修改PATH变量。这样每次登录时,环境变量PATH都会自动修改为我需要的样子。 "env" 列出所有环境变量 "source ~/.bashrc" 在更改.bashrc文件后,执行条命令可以使更改立即生效(否则要等下次登录才能看到效果)。

0 0