2007robot 发表于 2012-12-28 21:22

Ubuntu 环境变量设置小记(---基于Ubuntu 11.10测试)

本帖最后由 2007robot 于 2013-01-02 16:50 编辑

      关于环境变量的定义可以参考wikipedia: http://http://zh.wikipedia.org/wiki/%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F

         在所有Unix 和 类Unix系统中, 每个进程都有其各自的环境变量设置。 缺省情况下, 当一个进程被创建时,除了创建过程中的明确更改外,它继承了其父进程的绝大部分环境设置。 在API层级上, 使用fork和exec函数进行变量设置。或利用bash shell文件, 使用特殊的命令调用来改变环境变量:通过env 间接替代或者使用ENVIRONMENT_VARIABLE=VALUE <command> 标识. 所有的Unix操作系统 以及DOS 和Microsoft Windows都是用环境变量,但是它们使用不同的环境变量名称。我们可以通过运行程序来访问环境变量的值。

      Shell 脚本和批处理文件使用环境变量来存储临时值,用于以后在脚本中引用,也用于传递数据和参数给子进程。 在Unix系统中,一个在脚本或程序中更改的环境变量值只会影响该进程,亦可能影响其子进程。其父进程和无关进程将不受影响。在DOS中,更改或删除一个批处理文件中的环境变量值将改变变量的期限命令的存在。
      在Unix系统通过初始化脚本启动时,环境变量通常会在此时被初始化,因此会被系统中的其它进程所继承。用户可以而且经常添加环境变量到他们使用的shell脚本中。 在Windows系统中,环境变量的缺省值存储在 windows 注册表中,或者在 autoexec.bat 自动执行的批处理文件中设置。

         关于环境变量的进一步扩展知识,可以看一下 W.Richard Stevens编写的《UNIX环境高级编程》(2rd)中,7.5环境表(P152),7.9环境变量(P157).

      这里讲一下Ubuntu 环境变量的设置,因为之前用过一段时间的Fedora 12,所以感觉不同的Linux发行版对于环境变量的设置可能会有一些不一样的地方,有经验的网友可以谈下感受。

      在Ubuntu中有如下几个文件可以设置环境变量
(1)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。此文件为系统的每个用户设置环境信息。

(2)/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile(~/.bash_profile)前,设置环境文件的环境变量,注意,/etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。

注:在网上找到了一些资料,贴出来,可以记一下,以便于理解。


~/.profile:在登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.


通常设置环境变量有三种方法:
一、临时设置
export PATH=/home/simon/share/usr/local/arm/3.4.1/bin: $PATH

二、当前用户的全局设置
打开~/.bashrc,添加行:
export PATH=/home/simon/share/usr/local/arm/3.4.1/bin: $PATH
使生效
source .bashrc

三、所有用户的全局设置
$ vim /etc/profile
在里面加入:
export PATH=/home/simon/share/usr/local/arm/3.4.1/bin: $PATH
使生效
source profile
测试 echo $PATH

目前写到这,参考了一下这里的知识,http://blog.csdn.net/dingxy/article/details/4016383

THS。12年12月28日

2007robot 发表于 2013-01-02 16:51

本帖最后由 2007robot 于 2013-01-02 16:53 编辑

/test:$PATH

/test: $PATH

还会有这个小问题,呵呵!
页: [1]
查看完整版本: Ubuntu 环境变量设置小记(---基于Ubuntu 11.10测试)