1.环境变量
概念:
环境变量就是保存当前运行环境参数的一些变量,可以让环境配置更加简单。
特性:
环境变量在进程间具有一定的传递特性,可以通过设置环境变量向进程传递数据。
环境变量与普通变量的区别:
在程序中,可以获取到当前环境的环境变量数据,但是获取不到普通变量的数据。
注:每个终端都有自己独立的运行环境,互不交叉;在一个终端中设置的环境变量,在其他终端中是找不到的。
2.常见的环境变量
2.1PATH
保存系统的程序默认查找路径。
将我们自己的程序所在路径加入其中,则我们运行自己的程序也就可以不用输入路径了;如果没有环境变量,则所有的配置都在配置文件中,每当修改了配置文件,就需要重新加载配置。
2.2HOME
指定用户的主工作目录(即用户登录到Linux系统中时,默认的目录)。
2.3SHELL
当前shell,它的值通常是/bin/bash。
3.相关指令
env
查看所有环境变量。
echo $PATH
打印指定环境变量的内容。
set
查看当前环境中的所有变量(包括环境变量、普通变量在内)
export VAL
声明变量VAL为环境变量。
unset VAL
移除指定的环境变量VAL。
注:普通变量定义示例
VAL=100 即在shell环境中添加了一个普通变量VAL。
4.通过代码获取环境变量
4.1通过命令行第三个参数
通过main函数的第三个参数来获取环境变量。
4.2通过第三方变量environ
libc中定义的的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所有在使用时,要用extern声明。
4.3通过系统调用获取或设置
可以通过调用getenv和putenv函数来访问特定的环境变量。