Linux:环境变量

  在平时使用电脑的时候,安装某些软件需要配置环境变量,虽然我们不知道什么是环境变量,但是根据教程一步步配置,也是可以使用软件的。这篇文章来简单的聊一聊什么是环境变量,以及环境变量的作用。

一、环境变量的理解

(1)什么是环境变量?

  简单来说,环境变量就是保存参数的变量,通过环境变量让我们使用电脑更加方便。但这样其实是比较抽象的,没有体现出来在哪些方面让我们更方便了。

  其实我们在运行程序的时候都是要带上程序的路径的,这样才可以运行。如下图,我们运行test程序时,要加上它的路径。

环境变量

 【1】为什么我们运行程序要加上路径呢?

  因为要运行一个程序,就要告诉系统要去运行哪个目录中的程序,要让系统知道我们要运行的程序在哪里。./test 就代表我们告诉系统我们要运行当前目录的test程序。

 【2】我们在终端中使用的命令也是一个个的程序,但我们使用时却没有带路径,而是直接输入指令名称,这是为什么?

终端

  这是因为系统中有一个东西叫做环境变量,系统把指令程序的路径都存放在环境变量里面。我们输入一个命令后,系统就在环境变量中保存的那些路径中去寻找我们输入的命令,如果找到了就运行,如果没找到就会报错。

  如下图,系统找不到xxx指令就会报错。

错误指令

(2)Linux中的环境变量

 那么在Linux中,环境变量是如何保存呢?

  Linux中有一个数组:char ** environ,这个数组是一个全局变量,数组中的每个元素都是一个地址,一个元素就是一个字符串的地址,这个字符串就是环境变量。

 如果要在程序中使用系统的环境变量,只需要声明该数组即可使用。

二、环境变量的使用

(1)PATH环境变量

  PAHT环境变量是我们最常使用的环境变量,它保存了程序的默认搜索路径,我们如果运行了一个指令,系统就会去PATH环境变量保存的路径下去寻找这个程序。

  因此我们可以将我们自己的程序的路径添加到PATH环境变量中,那样系统就可以找到我们程序的路径,就不需要我们在运行程序时手动添加 ./

(2)和变量相关的指令

  • env:显示所有的环境变量
  • echo $变量名:显示指定的变量
  • set:查看当前环境中所有变量(包括环境变量、普通变量)
  • export 变量名:声明该变量是环境变量
  • unset 变量名:移除指定的变量

三、环境变量与普通变量的区别

(1)程序可以获取到当前环境的环境变量,但无法获取普通变量。

(2)因为环境变量可以被进程获取,因此可以用于在进程间通过环境变量传递数据。

(3)每个终端都有自己独立的运行环境,在终端A中设置的环境变量在终端B中找不到。

const char*getenv(const char * name):在程序中通过环境变量名获取环境变量数据

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值