环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如我们在写代码时,在链接等时,链接的静态库我们不知道在哪,但最后都可以成功,原因就是有相关环境变量帮助编译器进行查找
1.常见的环境变量
PATH:指定命令的搜索路径
HOME: 指定用户的主工作目录(即用户登录到Linux系统中时,默认的目录)
SHELL:当前shell,它的值通常是/bin/bash,也是一个可执行程序
2.查看环境变量: echo PATH —查看PATH的环境变量
查看环境变量的内容: echo $PATH --查看PATH的环境变量的内容
3.区别本地变量和环境变量
环境变量: 通常具有某些 “全局” 特性,可被子进程继承
本地变量:自己创建的变量,只在bash内有效
4.和环境变量相关的命令
getenv() ->获得环境变量
export+变量名 ->本地变量 变 环境变量
unset+变量名 ->取消环境变量
set -->显示本地定义的shell变量和环境变量
5.如何获取环境变量?
通过代码获取
- 命令行参数
#include<stdio.h>
int main(int argc,char *argv[],char *env[])//argc,*argv[]为命令行参数,*env[]为环境变量
{
int i=0;
for(;env[i];i++)
{
printf("%s\n",env[i]);
}
return 0;
}
- 通过第三方变量environ获取
#include<stdio.h>
int main(int argc,char *argv[])
{
extern char **environ;
int i=0;
for(;environ[i]!=NULL;i++)
{
printf("%s\n",environ[i]);
}
return 0;
}
通过系统调用获取或设置环境变量(通过函数获取 putenv、getenv)<常用>
#include<stdio.h>
#include<stdlib.h>
int main()
{
printf("%s\n",getenv("PATH"));
return 0;
}