目录
1. 环境变量的概念
2. 常见的环境变量
3. 查看环境变量
4. 和环境变量相关的命令
5. 环境变量的组织方式
6. 通过代码获取环境变量
7. 通过系统调用获取环境变量
Linux🌷
在开始今天的内容之前,先来看一幅图片吧!
不知道你们是否和我一样都有这样的疑问?
为什么 ls 和我们编写的 hello.c 生成的可执行二进制文件都是可执行的,为什么 ls 在执行时直接使
用 ls 就行,运行 hello 时还要在前面指定当前路径呢?
其实这便是环境变量在其中作祟!😉(小小形容下)
1. 环境变量的概念
2. 常见的环境变量
3. 查看环境变量
echo &NAME
//NAME:要查看的环境变量名称
上述为:查看系统的环境变量;
我们发现:系统的环境变量是以冒号为分隔符的;
其实在查找时是以冒号为分隔符依次查找的,如果没找到便继续查找下一个冒号分隔处的路径;
4. 和环境变量相关的命令
下面给出几个示例:
示例一:
经过上述,我们发现 hello 便可以直接运行;
注意:上述修改只在本次会话中有效;
示例二:
myval是定义的一个本地变量,通过上述语句,验证了echo、set、env等各个命令的功能和用法;
5. 环境变量的组织方式
其实环境变量也是操作系统在内存中开辟空间来对它进行存储的:
下述为存储的大致样式:
每个程序都会收到一张环境表,环境表是一个字符指针数组,每个指针指向一个以’\0’结尾的环境
字符串,由变量名+路径组成
6. 通过代码获取环境变量
示例一:
上述main()函数中,传了两个参数,可自动进行修改,存储大致如下:
我们看到指令有很多选项,用来完成同一个命令的不同子功能,选项底层使用的就是我们的命令行
参数!!
7. 通过系统调用获取环境变量
getenv("环境变量名")
//函数getenv返回一个字符串指针,指向这个环境变量的路径
最后一点:
坚持打卡!
😃