通过bash控制传递给子进程的环境

时间:2015-02-19 15:09:06

标签: linux bash environment child-process

我正在使用带有bash

的x86_64 GNU / Linux
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
    system("set > setc");                           // A subset of `$ set`

    return 0;
}

我可以看到文件setc包含$ set的子集 我很好奇,知道shell(父进程)如何决定向子进程提供什么以及不提供什么? 如果我想为子进程提供更多环境变量怎么办?人们如何控制它?

1 个答案:

答案 0 :(得分:2)

可以导出或不导出shell变量。 shell只会将导出的变量传递给子进程。在bash中,您可以通过执行export var来导出变量(例如,$ var)。