我们在解释我们的老师时遇到了很多麻烦。我们要求澄清并从他那里得到以下回复
对于 execve,向它发送一个使用导出变量设置的环境,并创建一个内置命令来生成 /bin/bash 的子 shell,这样您就可以使用 env 查看导出的变量。
(他在这里谈论创建我们自己的环境变量。)
是的,创建你自己的。您可以在 shell 启动时复制 environ 并仅添加导出的变量
这与我在 Stack Overflow 上的以下帖子有关(阅读其他帖子将帮助您了解我想要做什么):
我们对此感到非常困惑。再一次,我将解释我们现在正在尝试做的事情。与您的 Linux shell 执行此操作的方式类似,我们需要编写自己的程序来设置环境变量,如 PATH 和 USER 以及用户想要定义的任何其他变量。
您将如何调用它的一个示例是(在程序提示符下):
mysetenv dog spike
这将创建一个看起来像“dog=spike”的环境变量
更重要的是,我们需要能够设置自己的 PATH 变量并将其发送到exec
命令。这是令人困惑的部分,因为根据我们所有的问题,我们不明白我们应该做什么。