免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1108 | 回复: 0
打印 上一主题 下一主题

linux 命令解释程序的实现(shell) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-15 12:31 |只看该作者 |倒序浏览

Linux 命令解释程序的实现(shell)
操作系统的实验,实现简单的命令解析和系统调用。
实验内容:
(1)parse应提供一个命令提示符,如parse>,表示接收用户的输入,每次执行完成后再打印下一个命令提示符parse>。当用户没有输入时,parse需要一直处于随时等待输入状态,同时再屏幕上显示一些必要的信息。
(2)如果用户提交了一个内部命令,parse应当按照下面的描述执行相应动作。
 quit:结束所有的子进程并退出parse.
 disp: 显示命令行后的所有字符。
 list:列出当前目录下的所有文件。
 changedir:改变当前目录到所输入目录。
(3)分析用户输入
    1)分析用户输入的语法分析器应具有下面介绍的功能,它能够检查用户的输入错误。如用户输入的某些地方出错了,parse应提供合理的出错信息。
    2)就像shell一样,parse每次接受用户输入的一行命令,在用户按下回车键(Enter)后开始执行分析动作。
#include
#include
char compare(char *);
void input(char arg[][20],int *);
int main() {
char arg[5][20];
int i,argc,exit;
exit=0;
while(exit==0) {
        input(arg,&argc);
        printf("the command is %s\n",arg[0]);
        switch(compare(arg[0])) {
                case 'q':{//quit
   exit=1;
                        break;
                }
                case 'd':{//disp
                for(i=1;i");
        fgets(cmd,sizeof(cmd),stdin);
        for(i=0;*cmd_e!='\0'&&i


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/55409/showart_464730.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP