资讯专栏INFORMATION COLUMN

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

Galence / 3047人阅读

摘要:环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性下的环境变量当我们生成可执行程序时,想要运行必须指定运行路径。其原因是是有相关环境变量帮助编译器进行查找。

Windows下的环境变量

1.环境变量概念

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

2.Linux下的环境变量

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

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

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

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

HOME的查看
echo $HOME

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

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

PATH的查看
echo $PATH

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

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

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

导入环境变量(export)

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

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



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

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

linux环境变量全查看(env)

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

export + 变量名=变量值

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

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

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

unset+变量名

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

命令行参数


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

发现运行时跟不同的后缀,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 -NULL/n");           10   }                                          11   else                                       12   {                                          13     if(strcmp(argv[1],"-a")==0)              14     {                                        15       printf("Hello Linux -a/n");            16     }     17     else if(strcmp(argv[1],"-b")==0)   18     {   19       printf("Hello Linux -b/n");   20     }   21     else    22     {    23       printf("Hello Linux -else/n");   24     }   25   }   26    27   return 0;                                                                               28 }                

运行结果为

代码查看环境变量信息

验证:

environ获取环境变量

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

运行结果为环境变量的值

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/121089.html

相关文章

  • 菜鸟的Linux上手指南

    摘要:在中比较流行的常见的有用没用过美美的等等,终端默认使用的是。一般说来字符终端的的标准是公司制造的型号为的终端。 我以前经常在网上查类似于在Ubuntu下如何让某个用户对某个文件夹拥有可读可写的权限?,Mac上如何通过命令行启动某个程序?,在Linux中如何彻底卸载某个软件?这类的问题,当然这类问题都可以较容易的在网上找到解决方案,但是每次解决我都是知其然不知其所以然,所以当下次我碰到类...

    melody_lql 评论0 收藏0
  • 菜鸟的Linux上手指南

    摘要:在中比较流行的常见的有用没用过美美的等等,终端默认使用的是。一般说来字符终端的的标准是公司制造的型号为的终端。 我以前经常在网上查类似于在Ubuntu下如何让某个用户对某个文件夹拥有可读可写的权限?,Mac上如何通过命令行启动某个程序?,在Linux中如何彻底卸载某个软件?这类的问题,当然这类问题都可以较容易的在网上找到解决方案,但是每次解决我都是知其然不知其所以然,所以当下次我碰到类...

    ZHAO_ 评论0 收藏0
  • Linux_Linux命令行与shell脚本编程大全》第六章学习总结

    摘要:环境变量定义了用于进行命令和程序查找的目录。全局环境变量可以在对其作出定义的父进程所创建的子进程中使用。本章学习命令个人总结如下显示全局变量显示全局变量显示局部变量全局变量及用户自定义变量导出为全局环境变量删除环境变量 时间:2017年07月31日星期一 说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程...

    Kerr1Gan 评论0 收藏1
  • linux基础命令

    摘要:第二个括号里的是指目标用户,也就是以谁的身份去执行命令。最后一个是指命令。 Linux 命令 解释: [root@linux01 Desktop]# root 用户,是超级用户 linux01 主机(主机名:linux01.hadoop.com) Desktop 用户所在目录 (工作目录) # 超级用户($代表普通用户...

    clasnake 评论0 收藏0
  • CentOS 7环境搭建(JDK、Tomcat、Mysql)

    摘要:解压文件不要目录,去除一层设置环境变量命令编辑文件添加表达式解释符号在系统里面用于获取一个变量的值在此表示分隔符可新增,修改或删除环境变量,供后续执行的程序使用。的效力仅及于该此登陆操作。 JDK 文件准备下载jdk-8u121-linux-x64.tar.gz 目录准备 命令(进入目录):cd /mnt 命令(创建目录):mkdir /jdk 命令:cd ...

    SnaiLiu 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<