Linux环境变量及其设置
环境变量
概念:环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数。简单来说就是一个变量,用于存储系统的环境参数。
作用:通过修改环境变量的值,灵活的配置系统运行环境参数(使系统环境配置更加灵活)
常见环境变量
PATH | 指定命令的搜索路径 |
---|---|
HOME | 指定用户的主要工作目录(即用户登录到Linux系统中时,默认的目录) |
SHELL | 当前shell,它的值通常是/bin/bash |
有关环境变量的一般指令操作
env 查看环境变量(不包括普通变量)
set 查看环境变量(包括普通变量)
环境变量与普通变量的区别:子进程会继承环境变量,但是不会继承普通变量
export 查看PATH
echo 打印指定的环境变量
PATH = &PATH:. 把当前目录添加到环境变量
设置环境变量:
MYVAL=100
设置环境变量,通过这种方法设置的是普通变量,通过echo可以看到,但是通过env指令无法看到,只有通过set才能看到
export
通过这种方法设置的是环境变量
unset
删除环境变量
注意:以上设置环境变量的方法设置的环境变量是临时的,当关闭终端后就会失效,要想长久有效,需要修改配置文件
在代码中获取环境变量的三种方法
1.main函数中的第三个参数
#include <stdio.h>
int main(int argc, char *argv[], char *env[])
{
int i = 0;
for(; env[i]; i++){
printf("%s\n", env[i]);
}
return 0;
}
2.使用extern char **environ;
#include <stdio.h>
int main(int argc, char *argv[])
{
extern char **environ;
int i = 0;
for(; environ[i]; i++){
printf("%s\n", environ[i]);
}
return 0;
}
3.char *getenv(char *key)
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("%s\n", getenv("PATH"));
return 0;
}