
个人主页:Lei宝啊
愿所有美好如期而遇
前言
如果对环境变量没有基本的理解,那么建议先看完这篇文章:环境变量https://blog.csdn.net/m0_74824254/article/details/134661113?spm=1001.2014.3001.5501
环境变量与本地变量区别
使用export设置一个新的环境变量

我们使用getenv函数去取。

我们成功取到了环境变量。 并且环境变量可以被子进程所继承,因为环境变量具有全局属性,在main函数的第三个参数中传下去,或者由子进程的进程地址空间拷贝父进程而来。

接下来我们创建本地变量。 并使用env查找,发现查不到。

set可以查到所有变量,而env只能查找环境变量。
这里我们只用getenv函数做查找。


我们发现找不到这个变量 。
环境变量从哪里加载
我们切换到家目录,家目录下的**.bash_profile**就是我们要找的目标

我们的环境变量通过脚本从磁盘中的配置文件读取。

当我们登录云服务器,就会来到家目录,找到这个文件读取环境变量,所以为什么我们每次登录时目录都是家目录,就是因为需要找到这个文件进行配置我们的环境变量,我们后续才能使用指令,我们指令的路径就是在这里配置的。
几个小实验
既然我们会从这个文件读取环境变量,那我们能不能在这个文件配置点什么,让他开机时也自动读取?


