• Ubuntu环境变量相关知识


    在Linux下使用源码安装软件的时候,通常只能在软件安装目录下使用该软件命令(使用yum命令安装的除外),如果希望全局使用,可以将软件安装路径添加到系统环境变量里。


    假设是/home/myfile/run/script目录下的aa.sh,想要在所有目录都可以运行某个命令,可以使用如下几个方法:

    1. ln -s aa.sh(aa.sh存放的位置) /bin/aa.sh(bin后的aa.sh表示你输入哪个指令才可以运行这个脚本)
    2. 将aa.sh直接拷贝到/bin
    3. 将命令所在的目录添加到环境变量中

    前面两个方法主要是因为/bin目录已经在系统的环境变量里了,下面主要说说怎么添加环境变量


    一、添加环境变量的几种方法

    1. 使用export命令命令定义变量【只对当前shell(BASH)有效(临时的)】
    export PATH=/usr/local/webserver/php/bin:$PATH
    export PATH=${PATH}:/home/myfile/run/script
    
    • 1
    • 2

    这样搜索你执行命令时,系统就会到这个目录查找.

    export使用方法为:

    export PATH=$PATH:路径1:路径2:路径n;
    
    • 1

    $PATH为系统变量,表示之前所有设置的路径,如果不加则之前所有的路径都失效。所以必须加上。

    1. 修改配置文件/etc/profile【对所有用户生效(永久的)】
    sudo vim /etc/profile
    #要让修改马上生效,需要在修改后source一下
    source /etc/profile
    
    • 1
    • 2
    • 3
    1. 在用户目录下的.bash_profile文件中增加变量【对当前用户生效(永久的)】
    #也可以修改/etc/rc.local文件和/root/.bashrc文件
    source .bash_profile
    
    • 1
    • 2
    1. 把命令加到~/.bashrc里,当前用户一登录就可以直接使用了
    $ vi /home/li/.bashrc
    #添加如下内容:
    #export 代表声明路径变量,其中每个路径以冒号:分割
    export PATH=PATH:新软件路径
    export CLASSPATH=.:$JAVA_HOME/lib/tools.jar;$JAVA_HOME/lib/dt.jar
    
    • 1
    • 2
    • 3
    • 4
    • 5

    注:修改文件后要想马上生效还要运行source /home/li/.bashrc不然只能在下次重进此用户时生效。

    1. 直接修改环境变量
    sudo vim /etc/environment
    #注销或者重启可以使修改生效,如果要使添加的环境变量马上生效可以采取以下方式:
    source /etc/environment
    
    • 1
    • 2
    • 3

    立马生效的区别

    source profile
    #命令使得当前脚本文件命令生效,即执行脚本的内容,相当于 
    . profile
    
    • 1
    • 2
    • 3

    通过上面这两个方法运行的环境变量值会传递给父进程
    source命令也称为“点命令”也就是一个符号(.).source命令通常用于重新执行刚修改的初始或文件,使之立即生效,而不必注销并重新登录。

    /bin/bash test.sh
    
    • 1

    若通过bash方法,虽然可以运行test.sh来配置环境变量,但是bash命令创建了一个子进程,其定义的变量不会传递给父进程,所以执行完毕后不能够真正修改运行的环境变量

    删除环境变量

    1. 使用readonly命令设置只读变量,如果使用了readonly命令的话,变量就不可以被修改或清除了。

    2. 使用unset命令来清除环境变量

    unset TEMP_KEVIN 
    #删除环境变量TEMP_KEVIN
    
    • 1
    • 2

    二、查看环境变量

    1. env命令是environment的缩写,用于列出所有的环境变量
      env

    2. 系统PATH路径所包含的软件目录
      echo $PATH
      添加软件运行路径到path中

    3. 显示环境变量HOME
      echo $HOME
      /home/terry

    4. 用C程序来访问和设置环境变量
      对于C程序的用户来说,可以使用下列三个函数来设置或访问一个环境变量。

    • getenv()访问一个环境变量。输入参数是需要访问的变量名字,返回值是一个字符串。如果所访问的环境变量不存在,则会返回NULL。

    • setenv()在程序里面设置某个环境变量的函数。

    • unsetenv()清除某个特定的环境变量的函数。

  • 相关阅读:
    仪器仪表与传感器信号带宽及频响的现场匹配技术
    程序员的护城河-并发编程
    lambda 表达式
    TensorFlow开源项目
    Angular 模块介绍及使用(二)
    介绍drawio和图表使用场景
    git常用命令
    组合控件——顶部导航栏——标签布局TabLayout
    4、Lock锁(是一个接口,但是接口类是特殊的类)
    Java基础---第二篇
  • 原文地址:https://blog.csdn.net/u011795345/article/details/126130277