LINUX环境变量

目录

1.什么是环境变量

2.环境变量的特征

3.环境变量的查看和获取

3.1命令查看

3.2用main函数参数获取

3.3getenv获取环境变量

4.环境变量的修改

4.1export导出环境变量

4.2修改.bash_profile


1.什么是环境变量

环境变量是系统内置具有特殊用途的变量。

环境变量本质其实就是我们在编程中的变量,因为linux操作系统就是用C语言和C++编写的。

这个特殊用途可以指什么呢,了解linux的人都知道liunx的命令,其实大多数都是一个可执行的程序,但是为什么我们在执行命令的时候就不用加上路径,在执行自己的程序时就必须加上路径 ?

这是因为在我们执行命令时,系统会在PATH环境变量中寻找我们可执行程序.

我们用echo $PATH命令查看PATH环境变量的内容,在执行指令的时候会从这些路径寻找命令,每个路径用冒号隔开。

还有想pwd和home这样的指令,其实就是对环境变量的打印,环境变量PWD会根据当前所在路径,实时的改变。

LINUX环境变量_第1张图片

2.环境变量的特征

环境变量具有全局属性,可以被子进程或孙子进程所继承。

3.环境变量的查看和获取

3.1命令查看

echo $环境变量

env 查看所有的环境变量

3.2用main函数参数获取

int main(int argc,char*argv[],char*env[])


main函数一共有3个参数,前两个是命令行参数,最后是存放环境变量的指针数组,这个数组必须是以空结尾。

#include

int main(int argc,char *argv[],char *env[])
{
    for(int i = 0;env[i];i++)//因为env是以空结尾,所以evn[i]为空的时候结束
   {    
        printf("%s\n",env[i]);
   }

  return 0; 
}

这就获取到所有的环境

3.3getenv获取环境变量

想获取某个环境变量就用getenv("环境变量名"),getenv的返回值就是环境变量所存储的内容

4.环境变量的修改

4.1export导出环境变量

export PATH=要导入的内容:$PATH(因为=是直接把PATH变量重新赋值,所以要把原来的路径加上:$PATH) 

export是在bash运行时赋值,也就是说export在对环境变量进行赋值的时候,是在内存中 也就说明export对环境变量的修改时临时性的,下次重新开机,就不存在了 。

4.2修改.bash_profile

原理:在用户登录的时候,操作系统会给该用户分配一个bash,bash会从.bash_profile读取该用户的环境变量加载到内存中,该文件只会被读一次,所以修改完就必须,重启才能生效。

上面其实也就解释了为什么用户登陆的时候都会在自己的家目录中。

按照此格式就可以为该用户永久添加一个环境变量。

LINUX环境变量_第2张图片

                                                  

你可能感兴趣的:(linux,运维,服务器)