网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.MIME和BASE64编码/解码程序代码.
.八皇后问题求解.
.VC Studio 使用技巧大全.
.完美的C++:C++/CLI.
.关于C++异常处理的心得体会.
.VC的若干实用小技巧(三).
.在CPP中调用Jscript中的函数.
..
.Visual C++设计超强仿QQ自动伸缩.
.用TreeView浏览目录.
.在Visual C++中如何利用UDL文件来.
.C/C++中结构体(struct)知识点强化.
.51单片机Keil C延时程序的简单研.
.灵活运用c语言实现高级功能.
.初学者编程入门:C++实用技巧讲解.
.gdb和core.
.C++ 语言基础(1).
.BIG5码到BG码转换技术.
.HANOI塔问题的递归解.
.Web应用程序开发技术.

用标准C实现shell功能

发表日期:2008-3-8



  #include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <string.h>
#include <errno.h>

#define SHELL_NAME "sh1"
#define PROMPT_ENVIRONMENT_VARIABLE "PROMPT"

char *prompt;

int main(int argc, char **argv)
{
char cmd[80];
int statval;

/* Determine prompt value. */
if ((prompt = getenv(PROMPT_ENVIRONMENT_VARIABLE)) == NULL)
prompt = SHELL_NAME ":";

/* Process commands until exit, or death by signal. */
while (1)
{
/* Prompt and read a command. */
printf(prompt);
gets(cmd);

/* Process built-in commands. */
if(strcasecmp(cmd, "exit") == 0)
break;

/* Process non-built-in commands. */
if(fork() == 0) {
execlp(cmd, cmd, NULL);
fprintf(stderr, "%s: Exec %s failed: %s\n", argv[0],
cmd, strerror(errno));
exit(1);
}

wait(&statval);
if(WIFEXITED(statval))
{
if(WEXITSTATUS(statval))
{
fprintf(stderr,
"%s: child exited with status %d.\n",
argv[0], WEXITSTATUS(statval));
}
} else {
fprintf(stderr, "%s: child died uneXPectedly.\n",
argv[0]);
}
}
}
上一篇:在vc++系统中编译和运行c语言 人气:990
下一篇:c语言中的结构(struct)和联合(union)简介 人气:997
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐