20.34 一个进程如何改变它的调用者的环境变量?

这有可能完全做不到。不同的系统使用不同的方法来实现像 Unix 系统 的全局名字/值功能。环境是否可以被运行的进程有效的改变, 以及如果 可以, 又怎样去做, 这些都依赖于系统。

在 Unix 下, 一个进程可以改变自己的环境 (某些系统为此提供了  setenv() 或 putenv() 函数), 被改变的环境通常 会被传给子进程, 但是这些改变不会传递到父进程。在 MS-DOS 下, 总环境是可以操作的, 但是这需要晦涩难解的技巧。参见 MS-DOS 的  FAQ。

翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)