环境变量

环境变量PATH

什么是环境变量呢?简要的说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件。

在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。这涉及到环境变量 PATH 的设置问题。

当登入系统获得一个shell进程时,其读取环境设置脚本分为三步:

  • 首先读入的是全局环境变量设置文件/etc/profile,然后根据其内容读取额外的文档,如/etc/profile.d和/etc/inputrc
  • 读取当前登录用户Home目录下的文件~/.bash_profile,其次读取~/.bash_login,最后读取~/.profile,这三个文档设定基本上是一样的,读取有优先关系
  • 读取~/.bashrc

方法一

控制台中,不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。 这个只针对特定的shell:

$ PATH="$PATH:/my_new_path"    (关闭shell,会还原PATH)

方法二

修改/etc/profile文件,如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。 这里是针对所有的用户的,所有的shell; 

 vi /etc/profile 

在里面加入:

export PATH="$PATH:/my_new_path" 

使用source命令使修改立刻生效: 

source  /etc/profile

方法三

修改.bashrc文件,这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,这里是针对某一个特定的用户,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。

vi /root/.bashrc 

在里面加入:

export PATH="$PATH:/my_new_path" 
source  /root/.bashrc

后两种方法一般需要重新注销系统才能生效,也可以使用source 命令,使修改的配置立刻生效。

最后可以通过echo命令测试一下:

$ echo $PATH  

~/.profile与~/.bashrc的区别

  • 这两者都具有个性化定制功能
  • ~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次
  • ~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次
posted @ 2018-09-01 14:56  刘-皇叔  阅读(113)  评论(0编辑  收藏  举报