zoukankan      html  css  js  c++  java
  • (转)在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文件中的环境变量内容,就可以直接使用相关工具的命令了。

  • 相关阅读:
    129. Sum Root to Leaf Numbers
    113. Path Sum II
    114. Flatten Binary Tree to Linked List
    112. Path Sum
    100. Same Tree
    300. Longest Increasing Subsequence
    72. Edit Distance
    自定义js标签库
    JS 实现Table相同行的单元格自动合并示例代码
    mysql 高版本only_full_group_by 错误
  • 原文地址:https://www.cnblogs.com/lixuwu/p/7123370.html
Copyright © 2011-2022 走看看