一 ,使用C程序访问环境变量
1.系统提供了一个全局变量。extern char **environ;使用全局变量environ将所有的环境变量输出。
环境变量的存储
2. int main(int argc,const char *argv[],char * envp[])
举例验证,代码验证 myenv1.c
int main(void)
3.操作环境变量的函数
getenv(3)
#include <stdlib.h>
char *getenv(const char *name);
功能:获取环境变量的值
参数:
name:环境变量的名字
返回值:
NULL:没有找到这个环境变量
返回环境变量的值的首地址。
sentenv(3)
环境变量函数测试,代码参见env_test.c
putenv(3)
#include <stdlib.h>
int putenv(char *string);
功能:改变一个环境变量的值,或者增加一个环境变量
参数:
string:
返回值:
0 成功
非 0 错误
clearenv(3)
#include <stdlib.h>
int clearenv(void);
功能:清除环境变量
参数:
void
返回值:
0 成功
非0 失败
setenv(3)
#include <stdlib.h>
int setenv(const char *name, const char *value, int overwrite);
功能:改变或增加一个环境变量
参数:
name:指定了环境变量的名字
value:指定了环境变量的值
overwrite:
0 环境变量存在,那么值不改变
非0 环境变量存在,值被替换。
返回值:
0 成功
-1 失败 errno被设置
int unsetenv(const char *name);
功能:删除环境变量
参数:
name:指定环境变量的名字
返回值:
0 成功
-1 失败 errno被设置
文件输入重定向
STDIN_FILENO:接收键盘的输入
STDOUT_FILENO:向屏幕输出