如何删除子进程继承下来的所有环境变量?

有没有特定的命令,而不用重新写一个脚本?

阅读 5.3k
2 个回答

可以通过 environ 得到所有环境变量

extern char **environ;
void main(){
  while(*environ!=0){
    printf("%s\n", *environ);
    environ++;
  }
}

然后解析拿到所有环境变量的key, 用unsetenv把它们全部干掉. 具体参考一下apue吧.

更新 写完才发现, 楼主是想要一个命令而不是程序. 唉, 确实不知道. 这个答案就留着吧, 做个参考.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进