环境变量

要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变量,所谓变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号,而这些符号将用于不同的运算处理中。通常变量与值是一对一的关系,可以通过表达式读取它的值并赋值给其它变量,也可以直接指定数值赋值给任意变量。为了便于运算和处理,大部分的编程语言会区分变量的类型,用于分别记录数值、字符或者字符串等等数据类型。Shell 中的变量也基本如此,有不同类型(但不用专门指定类型名),可以参与运算,有作用域限定。变量的作用域即变量的有效范围(比如一个函数中、一个源文件中或者全局范围),在该范围内只能有一个同名变量。一旦离开则该变量无效,如同不存在这个变量一般。

简单理解了变量的概念,就很容易理解环境变量了。环境变量的作用域比自定义变量的要大,如 Shell 的环境变量作用于自身和它的子进程。在所有的 UNIX 和类 UNIX 系统中,每个进程都有其各自的环境变量设置,且默认情况下,当一个进程被创建时,处理创建过程中明确指定的话,它将继承其父进程的绝大部分环境设置。Shell 程序也作为一个进程运行在操作系统之上,而我们在 Shell 中运行的大部分命令都将以 Shell 的子进程的方式运行。

添加环境变量的三种方法

1、直接使用export命令:

比如:
export PATH=$PATH:/home/lm/apache-jena-2.7.4/bin
export CLASSPATH=.:/home/liaomeng/apache-jena-2.7.4/lib
命令export可以查看各个系统变量和路径,发现系统变量中PATH中多了设置的路径,增加了CLASSPATH变量,则设置成功
也可单个变量输出查看:
echo $CLASSPATH
echo $PATH

2. 修改/etc/profile文件
在/etc/profile文件末尾添加:
export JENAROOT=/home/liaomeng/apache-jena-2.7.4
export PATH=$JENAROOT/bin:$PATH             ##在已有的PATH变量前面添加jena路径,其中的冒号为分隔符
export CLASSPATH=.:$JENAROOT/lib/jena-core-2.7.4.jar        ##使用*.jar好像不好使,试了很多次,如果有多个jar包需要添加,也用冒号分隔
  www.2cto.com
source /etc/profile使修改生效,不必重启系统
有人说也可以在/etc/profile.d/文件夹中添加个sh文件,/etc/profile文件似乎会自动读取/etc/profile.d/文件夹中的各个脚本文件,我还没试过。
另外需要注意:
CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的致命错误。
在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种常见的错误。
软件越装越多,环境变量越添越多,为了避免造成混乱,所以建议所有语句都添加在文件结尾,按软件的安装顺序添加


3. 修改主目录下的隐藏文件./bashrc
修改方式与修改/etc/profile文件相同
source .bashrc使修改生效



发布了60 篇原创文章 · 获赞 26 · 访问量 5万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章