zoukankan      html  css  js  c++  java
  • PATH 环境变量查看和修改

    含义

    linux下,当在终端输入某个命令时,系统会自动到PATH所指的位置去查找该命令执行。

    没有PATH,就得输入该命令的绝对路径,很麻烦。

    查看PATH的值

    #echo $PATH

    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

    每个路径用冒号隔开。

     

    添加路径到PATH

    如将/etc/apache/bin添加到PATH中。

    1、只对本次登录有效。

    在终端,

    #PATH=$PATH:/etc/apache/bin

    注:网上很多加了#export PATH这句,实际多余。

    export的作用是显示或设置环境变量,即在shell中定义的变量只对当前shell有效,而通过export 命令可以将变量设置为环境变量从而使变量对以后的shell进程也有效。

    因为PATH已经是环境变量了,再用export PATH画蛇添足,

    2、永久全局有效。

    在文件/etc/profile最后添加PATH=$PATH:/etc/apache/bin

    然后重启或者source /etc/profile

    再清晰的理下过程:

    (1)#sudo gedit /etc/profile

    (2)在文件/etc/profile最后添加PATH=$PATH:/etc/apache/bin

    (3)重启永久生效

    有的文章第三步用source /etc/profile 这只是对当前的终端有效。

    当然,如果懒得重启而且又只是使用当前终端并且希望下次永久有效,source /etc/profile是个不错的选择。

    注:source filename是执行filename文件中的命令。

    为什么要修改该文件,这得看该文件什么时候被执行,经分析,是输入密码登录进用户界面后。

    3、永久当前用户有效。

    文件~/.bashrc最后添加PATH=$PATH:/etc/apache/bin

    详细同2.

    修改PATH(删除某路径)

    添加路径上面说过了,那么删除PATH中的某条路径呢?

    触类旁通,直接PATH=[路径]:[路径]:[路径]……

    PAHT变量存在哪个文件中?

    网上很多说存在/etc/profile或~/.bashrc (ubuntu)中,但我没找到,我们可以在/etc/profile或~/.bashrc中修改PATH,但并不是说PATH必须存在该路径下。

    这个涉及到bash及系统启动时环境变量读取的问题,到哪读就存在哪。

    经过find /etc -name '*' | xargs grep 'PATH'搜索出来一大堆,

    分析系统读PAHT读了多次,如进入不同用户环境还要读取该环境下的PATH。

    最后成功登录进用户界面时要读/etc/profile文件,因此在/etc/profile文件中修改PATH是可行的。

  • 相关阅读:
    EF 配置实现建表与迁移
    微服务
    CentOS 系统管理与yum软件仓库搭建
    CentOS 网络操作
    CentOS 进程操作
    CentOS 用户/组与权限
    C# 三个Timer
    Entity Framework 小知识(四)
    Entity Framework 索引
    Entity Framework 小知识(三)
  • 原文地址:https://www.cnblogs.com/helloweworld/p/2715597.html
Copyright © 2011-2022 走看看