有没有一种方法可以在Linux中使用C设置环境变量?
我尝试了setenv()和putenv(),但是它们似乎并没有为我工作。
setenv()
putenv()
我将在这里做出一个疯狂的猜测,但是这些功能似乎不起作用的正常原因不是因为它们不起作用,而是因为用户并不真正了解环境变量的工作原理。例如,如果我有此程序:
int main(int argc, char **argv) { putenv("SomeVariable=SomeValue"); return 0; }
然后我从外壳程序运行它,它不会修改外壳程序的环境- 子进程无法做到这一点。这就是为什么内置可修改环境的shell命令的原因,以及为什么需要source一个脚本,该脚本包含要添加到Shell中的变量设置,而不是简单地运行它。
source