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

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

export使用方法为:

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

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

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

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

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

立马生效的区别

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

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

/bin/bash test.sh

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

删除环境变量

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

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

unset TEMP_KEVIN 
#删除环境变量TEMP_KEVIN

二、查看环境变量

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

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

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

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

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

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

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


三、环境变量配置举例

以配置Android-NDK的环境变量为例:

  1. 首先下载对应的ndk
wget -c http://dl.google.com/android/ndk/android-ndk64-r10b-linux-x86_64.tar.bz2
sudo gedit ~/.bashrc
#在文件末尾添加以下内容:
export   NDK=/文件夹路径 
export   PATH=${
    
    PATH}:$NDK

其中文件夹路径要精确到解压后的最高层路径,例如:/home/yngzmiao/android-ndk-r10b
保存文件并使之生效:

source  ~/.bashrc

安装并配置完成Android-NDK之后,需要进行安装验证,以确认正确安装并配置:

ndk-build

猜你喜欢

转载自blog.csdn.net/u011795345/article/details/126130277