使用linux已经很长时间了,可却也不知道都学了些什么。去年老师提议些一个类似于shell的命令解释器,终究拖了这么长时间才有了雏行。当然,我们是一个小组,共四个人在做。
我们的目的是学习体会shell的工作原理,命令如何获取,如何解析,如何搜索(即命令可执行程序所在位置),如何被调用执行等一系列过程。当然我们也实现了输入输出重定向、管道、后台,批命令处理(也不知道这样叫对不对,指的是类似于./configure;make;make install这种组合命令)。对于内部命令目前也只是实现了几个常用的,如cd,help,echo,kill,pwd。
目前还很不完善。对于普通,一般是没问题(也没详细全面的测试过),但组合命令还有问题,有的可以执行,有的却不可以。以上提到的内部命令还有echo和kill没有实现,将会继续完善。对于每个函数还都没一一校验过。Makefile文件也没有写。真是问题多多呀,呵呵!
发出来是想让大家帮助测试找出问题,提出建议,在此谢了!
运行需要readline库,Ubuntu上安装可以用一下命令:
sudo apt-get install libreadline5
sudo apt-get install libreadline5-dev
现在已经有所改进,编写了Makefile文件,虽然很粗糙,可还能用,呵呵!
运行之后,输入quit即可退出MyShell。
由于此处不支持.tar.gz格式文件上传,可以在这里下载MyShell源程序:
关于起修正,我们主要会在小组的论坛上讨论,有兴趣的可以去看看:
阅读(2084) | 评论(0) | 转发(1) |