linux设置全局变量

Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。 所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]:
1.系统级:

(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于登录到系统的每一个用户。该文件一般是调用/etc/bash.bashrc文件。 /etc/bash.bashrc:系统级的bashrc文件。

  (2)/etc/profile.d/

          在/etc/profile.d/目录下的每个脚本,都会被/etc/profile执行,所以对于用户自定义的全局变量,一般是在/etc/profile.d目录下新建一个脚本文件,把自己想要定义的变量或初始化设置写在这个脚本中,那么系统启动之后,就会自动执行,并且对所有用户都是可见的。例如:

     redhat中每个用户都要指定各自的环境变量,这样会比较麻烦,那么如何配置一个环境变量,所有的用户都可以使用呢?

下面以vcs的安装为例

vi  /etc/profile.d/vcs.sh

在新的java.sh中输入以下内容:

 

#set java environment

VCS_HOME=/home/eda/synopsys/vcs-2014.03
PATH=$VCS_HOME/bin:$PATH
export VCS_HOME PATH

保存退出,然后给vcs.sh分配权限:chmod 755 /etc/profile.d/vcs.sh

       

           Linux 环境下/etc/profile和/etc/profile.d 的区别

     区别:
1. 两个文件都是设置环境变量文件的,/etc/profile是永久性的环境变量,是全局变量,/etc/profile.d/设置所有     用户生效
2. /etc/profile.d/比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d/下对应的shell脚本即可,不用      像/etc/profile需要改动此文件

(2)/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。


2.用户级(这些文件处于家目录下):

(1)~/.profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置个人设置的地方

(2)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率肯定有影响。 ~/.bash_profile or ~./bash_login

用法:有些程序我们希望在任何路径下使用,而每次都要输入绝对路径很麻烦,所以可以在环境变量中添加一个目录,然后把要运行的程序放到这个目录中。

猜你喜欢

转载自www.cnblogs.com/qczhu/p/8921633.html
今日推荐