前言
环境变量一般是指在操作系统中用来指定系统运行环境的一些参数,在系统中通常具有全局特性。
例如:在编写c/c++的时候,有一步链接步骤,我们不需要关心所链接的动静态库在哪里,就是因为有环境变量的存在。
一、Linux中环境变量
在shell下使用env命令可以查看系统中所有的环境变量 ,使用 echo $NAME(NAME为环境变量名)命令可以查看特定的环境变量
PATH:指定命令的搜索路径
HOME:用户登录时的默认目录
SHELL:当前的shell,一般为/bin/bash
二、环境变量的相关命令
echo:显示某个环境变量
export:设置一个新的环境变量
env:显示所有环境变量
unset:清楚一个环境变量
set:显示自定义的本地变量
三、环境表
每个程序都会有一个环境表,它是一个字符指针数组,其中每个指针都指向一个环境变量,且环境变量以‘\0’结尾
四、如何查看环境变量
借助c来查看
1 #include<stdio.h>
2 #include<unistd.h>
3
4 //使用c语言的命令行参数打印Linux的全部环境变量
5 int main(int argc,char* argv[],char *envp[])
6 {
7 for(int i=0;i<argc;i++){
8 printf("argv[%d]: %s\n",i,argv[i]);
9 }
10
11 return 0;
12 }
1 #include<stdio.h>
2 #include<unistd.h>
3
4 //使用第三方变量environ打印Linux的全部环境变量
5 int main(int argc,char* argv[])
6 {
7
8 extern char **environ;
9 for(int i=0;environ[i];i++){
10 printf("environ[%d]: %s\n",i,environ[i]);
11 }
12
13 return 0;
14 }
Linux部分环境变量(下图)
也可以使用getenv函数来访问特定的环境变量(下图)
```c
1 #include <stdio.h>
2 #include <stdlib.h>
3
4
5 int main()
6 {
7
8 printf("%s\n",getenv("PATH"));
9
10 return 0;
11 }
使用Linux的指令
shell下使用env指令查看全部环境变量(下图为部分)
使用echo命令查看特定环境变量(下图)