1.1. 课程设计内容
编写一个C语言程序作为Linux内核的shell命令行解释程序,所执行的结果需和系统命令行方式保持一致,理解系统使怎样进行命令的解析和执行。
基本运行方式:[COMMAND命令 OPTIONS选项 ARGUMENTS参数]
表1 命令格式
类型 说明
COMMAND 用户输入的一个命令类型,请求内核将某个二进制程序运行为一个进程;
OPTIONS 指定命令的运行特性
ARGUMENTS 命令的作用参数,命令可以同时带多个参数,多个之间以空白字符分割
1.2. 课程设计要求
(1)Shell应该解析命令行参数指针数组argv[const]。使用Linux的系统调用fork()、wait()、和execv()等完成。
(2)对用户编写的Shell增加后台运行功能。即用户可以使用“&”作为一个命令,表示该命令在后台启动。前台还可以处理其他命令。
(3)修改程序,增加I/O重定向功能。即用户可以使用“>”,“<”和“|”符号改变程或文件的输入和输出。
1