有没有办法枚举环境变量和使用C检索值?
看看
environ
全局变量.
extern char **environ;
它可能在unistd.h
中定义(请看上面的environ(5)手册页).
这是一个我写的一个小代码演示:
#include <stdio.h> extern char **environ; int main() { for (char **env = environ; *env; ++env) printf("%s\n",*env); }
以下是如何使用它:
matt@stanley:~/Desktop$make enumenv CFLAGS=-std=c99 cc -std=c99 enumenv.c -o enumenv matt@stanley:~/Desktop$./enumenv ORBIT_SOCKETDIR=/tmp/orbit-matt SSH_AGENT_PID=1474 TERM=xterm SHELL=/bin/bash ... (so forth)