Chinaunix首页 | 论坛 | 博客
  • 博客访问: 968328
  • 博文数量: 113
  • 博客积分: 7235
  • 博客等级: 少将
  • 技术积分: 2101
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-14 11:24
文章分类

全部博文(113)

文章存档

2013年(7)

2012年(5)

2011年(6)

2010年(8)

2009年(15)

2008年(72)

分类: LINUX

2008-07-14 13:34:57

使用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) |
给主人留下些什么吧!~~