Advanced shell功能,例如:
1) 输入输出重定向,例如 ./a.out output.dat
2) 支持多管道命令,例如 ./a.out -a | ./b.out | ./c.out
3) 支持后台运行命令,例如 ls | wc &
4) 其他:参考GNU bash提供的功能。
参考程序:
课本的示例Program 1.5 和 Program 8.8
GNU bash. 源代码见bash-2.05b.tar.gz,文档见bash-doc-2.05b.tar.gz。
3. 实验要求
独立完成实验内容
良好的编程风格
注意事项
禁止使用system函数直接调用系统shell提供的命令。
对于执行指定的程序,使用fork函数生成一个新进程执行。
必须有exit命令:用来退出shell。
必须有help命令:列出shell所拥有的所有命令。
当前目录下放一个hello程序(功能:打印"hello world")。
实验提交
1) 程序源代码、可执行文件、makefile和readme都放在目录 /home/apue/apue×××/lab2/下,×××表示用户的编号。请严格按照上述目录位置存放,否则后果自负。
2) 程序命名: mysh , 提交前请编译好且可执行。
3) readme文件为实验报告:说明程序设计文档、用户手册。
4. 评分标准
A——选做内容/必做内容功能完善,编程风格好,人机接口界面好;
B——必做内容功能完善,完成部分选做内容,编程风格好,人机接口界面良好;
C——完成必做内容,编程风格良好;
D——能完成必做内容;
E——未按时完成必做内容,或者抄袭(雷同者全部为E).