zoukankan      html  css  js  c++  java
  • Ubuntu环境变量——添加与删除

    以Ubuntu 14.04为例,其他linux发行版类似,但是也有不同之处。这里以PATH为例。
    添加环境变量的几个位置

    1. /etc/profile—— 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置;
    2. /etc/environment—— 在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量;
    3. /etc/bashrc—— 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取;
    4. ~/.profile—— 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,它设置一些环境变量,执行用户的.bashrc文件;
    5. ~/.bashrc—— 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取;

    上面5个添加环境变量的位置的作用时间和作用域有所不同。

    添加方法:

    • 方法一:直接修改/etc/enviroment文件,这种方法的作用域是全局的,永久性的。
    #打开/etc/environment文件,其内容如下:
    
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" 
    
    #在环境变量PATH中添加你要添加的路径即可。
    • 方法二:修改/etc/profile文件,这种方法的作用域是全局的,永久性的。
    #这个文件不是保存环境变量信息的文件,在登录时,系统只是根据它的内容对环境变量进行设置。
    
    export PATH=$PATH:[your path1]:[your path2]:[...]  
    export PATH=[your path1]:[your path2]:[...]:$PATH 

    #其中,各个PATH之间用冒号分隔,$PATH指代添加your path前的环境变量。
    • 方法三:修改/etc/bashrc或者~/.bashrc文件,这两个文件同样不是为了保存环境变量,只是在使用bash shell时进行设置而已,所以设置方法和二中一样。对于/etc/bashrc文件,修改的作用于所以用户,但对于~/.bashrc文件,修改的仅仅作用于当前用户。这种修改的作用也是永久性的。
    export PATH=$PATH:[your path1]:[your path2]:[...]  
    export PATH=[your path1]:[your path2]:[...]:$PATH 

    这两个文件只是对bash shell的环境变量的设置,脱离的bash shell,不使用命令行了,这样的修改就可能没有意义了。

    • 方法四:修改~/.profile文件,作用仅限于当前用户,但同样也是永久性的。

    这种方法和修改/etc/profile本质上是一样的,这种之不过是仅仅修改了当前用户自己的配置文件。所以作用仅限于当前用户,但同样也是永久性的。

    • 方法五:在Terminal中使用shell命令,只在当前Terminal中起作用,关闭了当前Terminal就无效了。对其他Terminal也无效
    #在Bash中直接用下面命令:
    
    export PATH=$PATH:[your path1]:[your path2]:[...]  
    export PATH=[your path1]:[your path2]:[...]:$PATH 

    显示环境变量

    • 显示所有环境变量
    env #打印所有的环境变量
    • 显示指定环境变量
    echo $PATH #打印PATH环境变量  

    让以上修改生效

    在以上前四种方法中,修改后不会设置立即生效(大家思考一下原因),需要重启或者重新登录(哪个需要重启,哪个需要重新登录?),第五种方法立即生效。

    使用source命令也可以让修改立即生效。使用方法为:

    source [file name]  # file name 指的是上面修改过的文件的file name

    删除对环境变量的修改

    将以上方法中对配置文件的修改还原回去即可。另外,由于第五种方法由于是临时性质的且局部的,只需要关闭这个Terminal就好了。

    一个添加环境变量的例子

    这是今天我遇到的一个问题:Ubuntu 14.04 中系统默认安装了qt4,今天我安装了qt5,运行qmake时候会产生错误。Ubuntu14.04默认${PATH}路径中的/usr/bin下存在诸多qt命令(确切的说是指向qtchooser的软连接,qtchooser最终会选择系统自带的Qt4命令:但是这些命令默认都不存在),如果${QTDIR}/bin在${PATH}之后,会导致Qt命令失效。

    特别是qmake命令,在后续安装中需要用到,保险起见,在终端输入qmake,如果显示qmake命令不存在,请通过创建软连接进行解决。

     

    #安装完成后配置一下PATH,在当前用户主目录下的.bashrc (or .zshrc)文件中加入:
        export QTDIR=/opt/Qt/5.3/gcc/  
          
        export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${QTDIR}/lib  
          
        export PATH=${QTDIR}/bin:${PATH} 
    
    #注意${QTDIR}/bin和${PATH}的顺序!因为 Ubuntu14.04默认${PATH}路径中的/usr/bin下存在诸多qt命令
    #(确切的说是指向qtchooser的软连接,qtchooser 最终会选择系统自带的Qt4命令:但是这些命令默认都不存在),
    #如果${QTDIR}/bin在${PATH}之后,会导致Qt命令失效。 

     

    #创建软连接
    #将/usr/bin下的qmake软连接到/opt/Qt/5.3/gcc/bin/qmake上,
    #或者将/usr/lib/i386-linux-gnu/qt4/bin/qmake软连接到/opt/Qt/5.3/gcc/bin/qmake上: sudo ln -s /opt/Qt/5.3/gcc/bin/qmake /usr/bin/qmake or sudo ln -s /opt/Qt/5.3/gcc/bin/qmake /usr/lib/i386-linux-gnu/qt4/bin/qmake #创建完成后再输入qmake查看是否设置成功。
  • 相关阅读:
    【问题记录】ajax dataType属性
    【问题记录】springMVC @Valid使用不生效问题
    Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/jms/JMSContext
    mysql优化:explain 和 profile
    【问题记录】mysql TIMEDIFF 和 TIMESTAMPDIFF的使用
    初次搭建spring boot 项目(实验楼-学习笔记)
    JqGrid自定义toolbar
    MS SQL SERVER 2008 R2 实例服务启动出现10048错误解决办法
    C#快速导入海量XML数据至SQL Server数据库
    SQL2012之FileTable与C#的联合应用
  • 原文地址:https://www.cnblogs.com/bohaoist/p/4964933.html
Copyright © 2011-2022 走看看