【命令行】
在linux命令行下,敲env(如下面所示)
wuxian@ubuntu:$ env
SSH_AGENT_PID=2211
GPG_AGENT_INFO=/tmp/keyring-UwQ9VK/gpg:0:1
TERM=xterm
SHELL=/bin/bash
XDG_SESSION_COOKIE=98c1baea22a7e14c6639b26600000003-1430269917.496620-121366764
WINDOWID=58720261
GNOME_KEYRING_CONTROL=/tmp/keyring-UwQ9VK
USER=wuxian
...
【纯代码】
还有一种方法,即用系统提供的API访问这些环境变量。通过阅读APUE,发现linux中存在一张环境表。它其实是一个“指针数组”,每个下标指向一个以null结尾的字符串。如,HOME=/home/wuxian\0等等。而访问这张表,我们要在代码中添加一行声明,即
extern char **environ;
#include
extern char **environ;
int main(int argc, char *argv[])
{
//打印环境表
for(int i=0; environ[i] != NULL; i++)
{
printf("%s\n", environ[i]);
}
return 0;
}
【其它】
如果想修改其中的某一项,可以使用getenv、setenv、putenv、unsetenv和clearenv等函数来修改。