LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 904|回复: 5

(求助)写一个C写的shell

[复制链接]
发表于 2004-5-12 19:58:53 | 显示全部楼层 |阅读模式
大家好,我是个Linux的初学编程菜鸟,现在学习写一个C写的shell,能够实现简单的命令执行和后台运行(&)、管道(|)以及重定向(>或<)。
我的思路是循环接收命令行,获取环境变量,进行命令行分割后判断类型(管道,重定向或普通命令),查找命令(acess()),创建子进程,传参,执行execv()。
if (fork()==0) {
        ....
        execvp(...);........
}
else{
   wait(status);
   //or write(pipeID[1],msgToChild,len); and so on....

}

但是由于基础知识不牢,许多地方不会实现,尤其是不知道该用什么函数以及如何进行流程控制,也不太会实现同步以及对目录路径的处理,所以想请各位大拿帮帮忙,能否发份C写的shell到这里,或我的邮箱selena5001@163.com

谢谢了!!!
发表于 2004-5-13 15:05:22 | 显示全部楼层
C的问题请到程序设计讨论区~
发表于 2004-5-13 16:31:52 | 显示全部楼层
CU的c/c++有。。
先去找找。。。
 楼主| 发表于 2004-5-13 18:14:31 | 显示全部楼层

谢谢啦:)

:thank


看来来这里对了,谢谢devel版主啦~
发表于 2004-5-15 10:59:36 | 显示全部楼层
这个你要是看得懂,我就服了你了.呵呵~~

http://ftp.gnu.org/gnu/bash/
or
http://www.tcsh.org/
发表于 2004-5-15 13:04:33 | 显示全部楼层
建议楼主先温习Unix系统编程,学习得循序渐进。
老实说,编写一个个性化的shell,并且符合POSIX标准,不是一件易事。君不见,Linux诞生之际,bash还是1.0版本,至今2.05版,中间跨度不可谓不大。当然,如果是以熟悉Unix编程为出发点,编写一个小型shell还是有价值的。我就曾经编写过这样一个类似的程序。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表