Final Report for Project 0: Shell
在文件中的改变/Changes since Design Doc
由于我是使用的全新的代码,所以跟老师给的代码差异极大,因此我添加了许多的内容。其中比较重要的有:
- 添加了全局结构体enum,用于存储错误的状态信息
- 添加全局信号量sig_atomic_t pid
- 添加信号处理函数chld_handler,init_handler
- 添加函数isCommandExist用于判断命令是否存在
- 添加函数getUsername用于提取使用者的名字
- 添加函数getHostname用于提取使用者的主机名
- 添加函数getCurWorkDir用于获取当前路径,用于完成cd命令
- 添加函数splitCommandsBySpace用于获取输入的命令,使用空格键进行分离
- 添加函数askForExit用于退出
- 添加函数callCommand用于获取外部命令以及pwd,lis命令
- 添加函数callCommandWithPipe用于探测使用callCommand命令时候是否需要进行管道相关的操作
- 添加函数callCommandWithRedi用于探测使用callCommand命令时候是否需要进行重定向相关的操作
- 添加函数executeCd(int commandNum);用于进行cd命令
反思/Reflection
- 我感觉自己对于linux的命令有了更加全面的认识,通过使用C语言库中的代码进行命令的设计。因为时间的紧迫以及任务量的庞大,使得这个任务远不如pintos实验重要,所以我也是尽量基本的完成了任务的编写。
小组成员
-
本小组只有一名成员XXX,负责了所有的资料查找与文件编程,完成了六个部分的代码编辑
-
小组成员/Group Members
-
XXX 0000000@xx.com
-
学号xxxx
-
软工18
-
提交时间 2021/02/02