参考资料
概述
6.828 shell
文章前面的简介中,已经向我们提供了大部分的代码,但是一些功能需要我们进行补充。因此我这边先简要梳理下6.828 shell的主要逻辑。
- 通过
gecmd
获取命令,获取用户从界面输入的命令,最大为100个字节。 parsecmd
函数解析命令- 系统调用
fork
创建新的进程,来执行命令
Executing simple commands
使shell
程序能够简单地执行ls
等命令。
直接修改runcmd
下的代码:
case ' ':
ecmd = (struct execcmd*)cmd;
if(ecmd->argv[0] == 0)
_exit(0);
//fprintf(stderr, "exec not implemented\n");
// Your code here ...
if (-1 == execvp(ec