这是我的操作系统课作业说明的摘录。粗体部分是我无法理解的部分,我现在也无法联系到教授,我真的很想今晚开始。我知道环境变量是什么,我想......只是在 shell 中声明的一个变量,对吧?但是,粗体线的具体含义是什么?
编写一个 C 程序来实现一个交互式 shell,用户可以在其中执行命令。
调用这个程序 myshell (所以使用 gcc -o myshell -Wall 等来编译)。
创建一个重复提示用户输入命令的无限循环(参见下面的示例输出和输入)。
在执行用户输入的命令之前,必须使用环境变量 THEPATH 指定的路径找到该命令(不要使用 PATH!)。默认情况下,未设置 THEPATH 变量,因此为了进行测试,您需要手动设置(和取消设置)此变量(请参阅下面的详细信息)。如果找到 THEPATH,您的程序必须通过 fork() 和其中一个 exec() 系统调用在子进程中执行该命令。
要获取和解析 THEPATH,请考虑使用 getenv() 函数和 strtok() 或 strsep() 函数。