1. 基本概念
环境变量环境变量是指在操作系统中用来指定操作系统运行环境的一些参数.
例如:我们在编写C/C++代码时,在链接的时候,我们并不知道所链接的动静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关的环境变量在帮助编译器进行查找.
环境变量通常具有某些特殊用途,在系统中通常具有全局特性
在shell
命令行中,会有这样一种现象,shell命令行中的可执行程序ls
,可以直接运行,但我们自己的可执行程序却不能,必须指定路径./mytest
去运行.
其实,这也是环境变量在作用的表现,系统中存在了相关的环境变量,保存了程序的搜索路径.系统中搜索可执行程序的环境变量叫PATH.
2. 常见的环境变量
PATH:
指定命令的搜索路径HOME:
指定用户的主工作目录(即用户登录到Linux
系统中时,默认的目录)SHELL:
当前shell
,它的值通常是/bin/bash
3. 查看环境变量的方法
echo $NAME
//NAME
表示要查看的环境变量的名称
命令行变量分为两种:
- 普通变量
- 全局变量
4. 和环境变量相关的命令
echo:
显示某个环境变量的值export:
设置一个新的环境变量env:
显示所有环境变量unset:
清除环境变量set:
显示本地定义的shell变量和环境变量
5. 环境变量的组织方式
6. 用代码获取环境变量
第一种:通过命令行参数
第二种:通过变量envrion
获得
libc
中定义的全局变量environ
指向环境变量表,environ
没有包含在任何头文件中,所以在使用时要用extern
声明.
7. 环境变量的全局属性
环境变量通常具有全局属性,可以被子进程继承下去,我们来观察一个现象:
当我们运行这个程序时,发生它什么都没打印,那就说明环境变量MYENV
根本不存在,所以我们执行操作:
export MYENV = sss
当我们再次运行程序时,发现:
它打印出了环境变量MYENV
的值.
说明:环境变量是可以被子进程继承的.