环境变量一般指在操作系统中用来指定操作中用来指定操作系统运行环境的一些参数,比如,编写C/C++代码链接的时候,从来不知道链接的动态静态库在哪,但是照样可以链接成功,生成可执行程序,原因就是有相关变量帮助编译器进行查找。第二个例子是,使用系统的命令比如ls
,可以不用带路径,这就和PATH这个 环境变量有关。
常见的环境变量:
PATH
:指定命令的搜索路径
HOME
:指定用户的主工作目录,用户登录到Linux系统中时默认的目录
SHELL
:当前Shell,它的值通常是/bin/bash
echo $NAME // NAME是环境变量的名称
使用export PATH=$PATH:/home/zjy/mycode
命令可以把我们现在额程序加入PATH中,那么我们不用带路径,就可以直接运行了。
echo
:显示某个环境变量值 -> echo $NAME
export
:将本地变量导成环境变量
env
:显示所有环境变量
unset
:清除环境变量
set
:查看所有本地变量和环境变量
本地变量:是与本次登录有关的变量,只在本次登录有效
1、命令行参数env
每个程序都会收到一张环境表,环境表是一个字符指针数组char* env[]
,每个指针指向一个以\0
结尾的环境字符串。
2、通过第三方变量environ获取
3、getenv(“NAME”) //NAME是环境变量
环境变量通常具有全局属性,可以被子进程继承下去。
如果这个变量是本地变量,使用getenv打印会出现:
如果这个变量变成了环境变量(调用export导出),用程序查看的结果: