super_bert的专栏

好好向上,天天学习。

Linux/Unix配置环境变量

Linux/Unix配置环境变量

Linux/Unix系统环境变量配置文件: 
/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 

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

~/.profile:在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。 

/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.AIX中没有该文件,会有/etc/cshrc


~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(~  为当前用户home目录)


看看这几个文件都是干什么的: 
1./etc/environment–>是系统在登录时读取的第一个文件,用于为所有进程设置环境变量。系统使用此文件时并不是执行此文件中的命 令,而是根据KEY=VALUE模式的代码,对KEY赋值以VALUE,因此文件中如果要定义PATH环境变量,只需加入一行形如 PATH=$PATH:/xxx/bin的代码即可。 
2./etc/profile–>是系统登录时执行的第二个文件,可以用于设定针对全系统所有用户的环境变量。 
3.~/.profile–>是对应当前登录用户的profile文件,用于定制当前用户的个人工作环境。 
4./etc/bash.bashrc–>是针对所有用户的bash初始化文件,在此中设定的环境变量将应用于所有用户的shell中,此文件会在用户每次打开shell时执行一次。 
5.~/.bashrc–>是对应当前登录用户的bash初始化文件,当用户每次打开shell时,系统都会执行此文件一次。

这几个文件的执行先后顺序应当是: 
/etc/enviroment –>/etc/profile –>~/.profile –>/etc/bash.bashrc–> ~/.bash

PASH环境变量的设置方法: 

方法一:用户主目录下的.profile或.bashrc文件(推荐) 

登录到你的用户(非root),在终端输入: 

$ sudo gedit ~/.profile(or .bashrc) 
可以在此文件末尾加入PATH的设置如下: 
export PATH="$PATH:your path1:your path2 ..."
保存文件,注销再登录,变量生效。

该方式添加的变量只对当前用户有效。 

方法二:系统目录下的profile文件(谨慎) 

在系统的etc目录下,有一个profile文件,编辑该文件: 

$ sudo gedit /etc/profile 
在最后加入PATH的设置如下: 

export PATH="$PATH:your path1:your path2 ..."
该文件编辑保存后,重启系统,或输入以下命令刷新环境变量,变量生效。
#source /etc/profile
该方式添加的变量对所有的用户都有效。 

方法三:系统目录下的 environment 文件(谨慎) 

在系统的etc目录下,有一个environment文件,编辑该文件: 
$ sudo gedit /etc/environment 
找到以下的 PATH 变量: 
PATH="<......>" 
修改该 PATH 变量,在其中加入自己的path即可,例如: 
PATH="<......>:your path1:your path2 …" 
各个path之间用冒号分割。该文件也是重启生效,或输入以下命令刷新环境变量,影响所有用户。

#source /etc/environment
注意这里不是添加export PATH=… 。 

方法四:直接在终端下输入 

$ sudo export PATH="$PATH:your path1:your path2 …" 
这种方式变量立即生效,但用户注销或系统重启后设置变成无效,适合临时变量的设置。 

注 意:方法二和三的修改需要谨慎,尤其是通过root用户修改,如果修改错误,将可能导致一些严重的系统错误,如果修改不当,可能导致其他系统命令也无法识别(系统找不到路径),因此笔者推荐使用第一种方法(只要不是root用户,修改不当还可以使用root再改回来,重新登录即可)。另外嵌入式 Linux的开发最好不要在root下进行(除非你对Linux已经非常熟悉了!),以免因为操作不当导致系统严重错误。root为Unix/Linux系统的最高权限用户,不像windows的Administrator,Administrator其实不是最高权限(这里不细究),root可以让你在系统上修改任何东西,伴随而来的也十分危险。



阅读更多
文章标签: linux unix 环境变量
个人分类: Linux
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭