通过 bash 控制传递给子进程的环境
Controlling the environ passed to child process by bash
我正在使用 x86_64 GNU/Linux 和 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(父进程)如何决定向子进程提供什么,不提供什么?
如果我想为子进程提供更多环境变量怎么办?如何控制它?
一个shell变量可以导出也可以不导出。 shell 只会将导出的变量传递给子进程。在bash中,你可以通过执行export var
.
导出变量(例如$var)
我正在使用 x86_64 GNU/Linux 和 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(父进程)如何决定向子进程提供什么,不提供什么?
如果我想为子进程提供更多环境变量怎么办?如何控制它?
一个shell变量可以导出也可以不导出。 shell 只会将导出的变量传递给子进程。在bash中,你可以通过执行export var
.