c - 如何删除从父进程继承的所有环境变量?

标签 c linux bash environment-variables

<分区>

我想删除所有继承的环境变量,你能告诉我怎么做吗?

最佳答案

要使用 GNU C 库删除 Linux 中的所有环境变量,您可以使用 clearenv() .当此函数不可用时(它不在 POSIX 中),您可以使用 environ = NULL 代替。在调用 execl() 或任何变体之前执行此操作。

如果您正在调用某些 exec() 变体,您可以使用最后一个参数直接通过调用(以 e 结尾的变体)设置环境。在空环境下执行 /bin/csh 的示例:execle("/bin/csh", "-csh", NULL, NULL)

关于c - 如何删除从父进程继承的所有环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18711531/

相关文章:

linux - Cron 每分钟运行一次(在 bash 中运行但不在 cron 中运行)

c - 字符串数组中的最后一个字符串(从 strtok 解析)有垃圾

c - 没有规则使 mbascii.o 需要目标 mbascii.c?

c - 程序停止时保护堆数据

linux - 如果 fsck 命令运行不正常,结果是什么?

linux - 使用套接字发送文件大小

php - 文件对于直接从 php-cli 运行的 php 代码是可读的,对于通过 bash 脚本中的 php-cli 运行的 php 代码是不可读的

c - 将 char 数组 int 值增加 1

php - Ubuntu:PHP 如何读取环境变量

linux - 使用 awk 根据先前的值修改 CSV 的值