|
![]() | 作者: selena5001 [selena5001]
![]() |
登录 |
大家好,我是个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 谢谢了!!! |
地主 发表时间: 04-05-12 18:16 |
![]() | 回复: cimsxiyang [cimsxiyang] ![]() |
登录 |
/usr/src/bin/sh |
B1层 发表时间: 04-05-13 22:10 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号