CLEARENV - Linux手册页

时间:2019-08-20 18:00:01  来源:igfitidea点击:

Linux程序员手册 第3部分
更新日期: 2017-09-15

名称

clearenv-清除环境

语法

#include <stdlib.h>

int clearenv(void);

glibc的功能测试宏要求(请参阅feature_test_macros(7)):

clearenv():
/ * Glibc自2.19起:* / -_DEFAULT_SOURCE
|| / * Glibc版本

说明

clearenv()函数清除所有名称-值对的环境,并将外部变量environ的值设置为NULL。调用之后,可以使用putenv(3)和setenv(3)将新变量添加到环境中。

返回值

clearenv()函数成功返回零,失败返回非零值。

版本

自glibc 2.0起可用。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
clearenv()Thread safetyMT-Unsafe const:env

遵循规范

各种UNIX变体(DG / UX,HP-UX,QNX等)。 POSIX.9(FORTRAN77的绑定)。 POSIX.1-1996不接受clearenv()和putenv(3),但是改变了主意,并计划将这些函数安排在以后的该标准发行中(见[sc] B.4.6.1)。但是,POSIX.1-2001仅添加putenv(3),并拒绝clearenv()。

备注

clearenv()不可用的系统上,分配

environ = NULL;

可能会做。

clearenv()函数在需要精确控制传递给使用exec(3)执行的程序的环境的注重安全的应用程序中可能有用。应用程序将通过首先清除环境,然后添加选择的环境变量来执行此操作。

注意,clearenv()的主要作用是调整指针environ(7)的值。此函数不会擦除包含环境定义的缓冲区的内容。

DG / UX和Tru64手册页中写道:如果用putenv(3),getenv(3)或clearenv()函数以外的任何方式修改了环境,则clearenv()将返回错误,并且进程环境将保留不变。

另外参见

getenv(3),putenv(3),setenv(3),unsetenv(3),environ(7)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/