1、环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,简单来说就是一个变量。环境变量具有进程间的继承特性,而普通变量没有这一特性。(子进程会默认复制拥有父进程相同的环境变量)
默认的环境变量放在文件 /etc/profile 中
2、优点
环境变量可以使系统环境配置更加灵活
通过环境变量可以给运行中的程序传递数据
3、指令操作
env 查看所有环境变量
set 查看所有的变量(显示本地定义的环境变量)
export 声明一个变量为环境变量 具有进程间传递特性,后面的终端程序都可以访问到当前的 环境变量从而访问到其中的数据
echo 可以显示某个环境变量 eche ${name}
unset 删除一个环境变量
MYVAL 即为利用export声明的一个环境变量
4、接口函数
char* getenv(char* name) 用来获取环境变量的值
char *ptr = getenv("TEST");
15 if(ptr != NULL)
16 {
17 printf("%s\n",ptr);
18 }
5、main 函数
int main(int argc, char* argv[i])
argc 表示程序运行参数个数
ls -a -l 其中-a -l 都属于程序运行参数
argv字符指针数组
逐个保存了所有的运行参数
利用循环对argv 数组和env数组进行打印
即我们的main函数所带的参数均有这么多的环境变量在每个程序运行时进行访问。
6、小知识点
字符串常量存入只读存储器,不可写
栈区:由编译器自动分配释放,存放函数的参数值、返回值和局部变量
由操作系统自动管理。
MMU:Memory Mange Unit 存储管理单元 将地址从逻辑空间映射到地址空间。
TCB:线程控制块
PCB:进程控制块
新写的博文对环境变量重新总结