• (转)在Linux里设置用户环境变量的方法


    背景:在linux下,root用户安装完jdk后,非root用户不能使用java环境变量。

    问题排查:

    通过在root和非root用户下分别执行echo $PATH 可以观察环境变量的异同。然后将需要的环境变量加入到非root用户中

    1 介绍

    在 linux 里设置环境变量的方法 ( export PATH )
    如果使用源码包安装的软件,在安装完成后一般情况下要设置该软件命令执行的路径,那就是 PATH 变量。如何来设置 PAHT变量呢?我们又三种方法实现
    例如:压力测试工具sysbench的命令目录为:/usr/local/sysbench/bin,想要将sysbench工具加入到系统环境变量里,使在root用户下,可以直接执行sysbench命令。

    1.1直接使用 export 命令

    # echo $PATH
    /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

    # export PATH=$PATH:/usr/local/sysbench/bin

    # echo $PATH
    /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/sysbench/bin

    注意: 直接使用 export 设置的变量都是临时变量,也就是说退出当前的 shell ,为该变量定义的值便不会生效了。如何能让我们定义的变量永久生效呢?那就看我们的第二种定义的方式
    ps:临时的变量 不推荐

    1.2 修改 /etc/profile

    # echo $PATH
    /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

    # vi /etc/profile
    export PATH=$PATH:/usr/local/sysbench/bin  # 在配置文件中加入此行配置
    需要注意的是:修改完这个文件必须要使用 以下命令在不用重启系统的情况下使修改的内容生效
    # source /etc/profile
    或者是:
    # . /etc/profile
     
    # echo $PATH
    /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/sysbench/bin
    # 配置已经生效

    注意:修改 /etc/profile下虽然可以使环境变量永久生效,但在系统重启时,可能不再读取/etc/profile文件中的内容,需要在执行 "source /etc/profile"之后才能使环境变量生效;

    为了避免重启后环境变量不生效的问题,也可以在/etc/profile.d/目录下简历一个path.sh的文件,将export命令写入其中,这样每次系统重启时,都会自动读取文件内容,使环境变量生效。

    1.3修改 .bashrc 文件是在当前用户 shell 下生效

    # vi /root/.bashrc 在里面加入:
    export PATH=$PATH:/usr/local/mysql/bin
    修改这个文件之后同样也需要使用 source 或者是 . 使配置文件生效。
    再来使用 echo $PATH看下变量是否生效

    # echo $PATH

    以上是将一个工具命令加入到root用户下的环境变量中,对于非root用户,一般采用第二种方法,在进行 su - 命令切换时,自动读取 ~/bash_profile文件中的环境变量内容,就可以直接使用相关工具的命令了。

  • 相关阅读:
    关于Jonathan S. Weissman与RIT(罗切斯特理工学院,位于纽约)
    jQuery获取元素值以及设置元素值总结
    页面跳转
    Node JS复制文件
    js获取当前日期并格式yyy-MM-dd
    Json文件删除元素
    HTML页面间传值
    计算机实用但冷门快捷键
    NodejS---require的机制
    Node某个JS导出方法变量以及在其他地方引用的例子
  • 原文地址:https://www.cnblogs.com/lixuwu/p/7123370.html
Copyright © 2020-2023  润新知