我正在使用带有bash
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
system("set > setc"); // A subset of `$ set`
return 0;
}
我可以看到文件setc包含$ set
的子集
我很好奇,知道shell(父进程)如何决定向子进程提供什么以及不提供什么?
如果我想为子进程提供更多环境变量怎么办?人们如何控制它?
答案 0 :(得分:2)
可以导出或不导出shell变量。 shell只会将导出的变量传递给子进程。在bash中,您可以通过执行export var
来导出变量(例如,$ var)。