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 的区别
区别:java配置用户变量
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
⽤法:有些程序我们希望在任何路径下使⽤,⽽每次都要输⼊绝对路径很⿇烦,所以可以在环境变量中添加⼀个⽬录,然后把要运⾏的程序放到这个⽬录中。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论