Linux_环境变量(添加删除修改)_(命令获取)

发布时间:2022-07-04 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Linux_环境变量(添加删除修改)_(命令获取)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

Windows下的环境变量

Linux_环境变量(添加删除修改)_(命令获取)

文章目录

    • 1.环境变量概念
    • 2.Linux下的环境变量
    • 常见的环境变量的查看(PATH,HOME,SHELL)
    • 导入环境变量(export)
    • linux环境变量全查看(env)
    • 3.Linux下创建环境变量(export)
    • Linux下取消添加的环境变量(unset)
    • 4.通过代码获得Linux中的环境变量
    • 命令行参数
    • 代码查看环境变量信息
    • environ获取环境变量

1.环境变量概念

环境变量:一般是指在操作系统中用来指定操作系统运行环境的一些参数 如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。 环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性

2.Linux下的环境变量

当我们生成可执行程序时,想要运行必须指定运行路径。但是像Linux下的命令如ls可以不指定运行路径

Linux_环境变量(添加删除修改)_(命令获取)

如上图,自己的可执行程序与系统的ls命令都是可执行程序。

其原因是是有相关环境变量帮助编译器进行查找。

常见的环境变量的查看(PATH,HOME,SHELL)

HOME的查看 echo $HOME

Linux_环境变量(添加删除修改)_(命令获取)

标记的了系统登录的初始目录,不同用户的HOME不同

SHELL的查看 echo $SHELL 查看系統命令行命令行解释器的种类 centos中为bash

Linux_环境变量(添加删除修改)_(命令获取)

PATH的查看 echo $PATH

Linux_环境变量(添加删除修改)_(命令获取)

在输入ls时会查找PATH中的路径,因为ls路径在PATH中所以可以不加路径。这些路径之间以:相隔

所以如果想让自己生成的可执行程序可以直接执行 方法一: 可以将其放到PATH中的目录文件夹中

Linux_环境变量(添加删除修改)_(命令获取)

测试后要记得在路径下删除这个可执行程序,否则会污染工具集

Linux_环境变量(添加删除修改)_(命令获取)

导入环境变量(export)

方法二: 将当前可执行程序路径导入到环境变量中

eg:将路径导入到PATH中 export PATH=$PATH:路径… 这里表示环境变量PATH值为原来PATH值+路径 因为PATH中以:相隔 export PATH=路径 则表示PATH中只有一条路径,原来的PATH值没有在新PATH中

Linux_环境变量(添加删除修改)_(命令获取)

Linux_环境变量(添加删除修改)_(命令获取)

Linux_环境变量(添加删除修改)_(命令获取)

如上图,此时PATH中只有一条路径,此时ls也必须加路径才可以运行

Linux_环境变量(添加删除修改)_(命令获取)

此时重新登录服务器PATH会恢复

linux环境变量全查看(env)

Linux_环境变量(添加删除修改)_(命令获取)

3.Linux下创建环境变量(export)

export + 变量名=变量值

Linux_环境变量(添加删除修改)_(命令获取)

注意:如果不加export 变量名=变量值 此时这个变量称为本地变量,本地变量只能在本进程(bash)中使用 export+本地变量名就可以将本地变量变为环境变量

Linux_环境变量(添加删除修改)_(命令获取)

环境变量可以被其他进程获取

Linux下取消添加的环境变量(unset)

unset+变量名

Linux_环境变量(添加删除修改)_(命令获取)

4.通过代码获得Linux中的环境变量

命令行参数

Linux_环境变量(添加删除修改)_(命令获取)

如上图argv与envp都是指针数组,argv的大小为argc个,envp数组存放的是指向环境变量的指针

Linux_环境变量(添加删除修改)_(命令获取)

Linux_环境变量(添加删除修改)_(命令获取)

发现运行时跟不同的后缀,argv不同 其中-a -b -c称为命令行参数,其被保存到argv这个指针数组中

    1 #include<stdio.h>
    2 
    3 #include<string.h>
    4                                                                                        
    5 int main(int argc,char*argv[],char*envp[])
    6 {
    7   if(argc==1)
    8   {                                       
    9     PRintf("Hello Linux -NULLn");        
   10   }                                       
   11   else                                    
   12   {                                       
   13     if(strcmp(argv[1],"-a")==0)           
   14     {                                     
   15       printf("Hello Linux -an");         
   16     }  
   17     else if(strcmp(argv[1],"-b")==0)
   18     {
   19       printf("Hello Linux -bn");
   20     }
   21     else 
   22     { 
   23       printf("Hello Linux -elsen");
   24     }
   25   }
   26 
   27   return 0;                                                                            
   28 }
                

运行结果为

Linux_环境变量(添加删除修改)_(命令获取)

代码查看环境变量信息

Linux_环境变量(添加删除修改)_(命令获取)

Linux_环境变量(添加删除修改)_(命令获取)

验证:

Linux_环境变量(添加删除修改)_(命令获取)

environ获取环境变量

environ是定义在c语言库的全局变量,使用时要extern声明

Linux_环境变量(添加删除修改)_(命令获取)

运行结果为环境变量的值

脚本宝典总结

以上是脚本宝典为你收集整理的Linux_环境变量(添加删除修改)_(命令获取)全部内容,希望文章能够帮你解决Linux_环境变量(添加删除修改)_(命令获取)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。