版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、苏州科技学院 电子信息实验中心实验报告课程操作系统学名闫自立班级 软件1311专业计算机科学与技术指导教师 张妮学年 / 学期2015 2016学年第一学期5实验一 命令解释程序设计实验项目性质:设计性计划学时:2实 验 环 境:Redhat Linux 实验日期:2015 年10月16日一、实验目的1、通过本实验熟悉UNIX/LINUX操作系统及C语言。2、熟悉系统调用的编程方法。二、实验内容利用C语言编写一个微型命令解释程序minishell.c,该程序可接收并解释以下命令:(1) dir列出当前目录(2) copfile1file2拷贝文件(3)erafilen
2、ame删除文件(4) disp string显示字符串(5)end结束,退出要求:(1)检查命令的合法性,如果有错误,显示出错信息,等待重新输入;(2)命令前后有空格示为合法命令。三、设计原理(或方案)及相关算法四、结果分析(可根据需要附加页)1. dir命令2. cop命令3.era命令4. disp命令5. end命令五、源程序(可根据需要附加页)#include <iostream>#include <stdio.h>#include <string.h>#include <stdlib.h>using namespace std;int
3、main()char cmdl80;char lin80;/linux最终命令char *scwt = "dir", "cop", "era", "disp", "end" ;static int cmdnum = 5;/可用的命令数char cmd80; char *parameter;unsigned int j,n;while (true)cout << "notice:command must have space in the end!n"printf(
4、"Please input command: ");fgets(cmdl,30,stdin);/从标准输入读取数据 包括键盘n = strcspn(cmdl, " ");/取命令命令部分if (n>0 | strlen(cmdl)>0)strncpy(cmd, cmdl, n);/将命令部分拷贝的cmd字符数组cmdn = '0'for (j = 0; j<cmdnum; j+)if (strcmp(cmd, scwtj) = 0)break;if (j = 0)/是dir命令?cout << "d
5、ir最终解释后的命令是:" <<"ls -a" << endl;system("ls -a");else if (j = 1)/copparameter=strstr(cmdl, " ");char *tem = "cp "unsigned int i = 0;unsigned int j1 = 0;for (; i < strlen(tem); i+)lini = *(tem + i);for (; i < strlen(tem) + strlen(parameter
6、); i+)lini = *(parameter + j1);j1+;linstrlen(tem) + strlen(parameter) = '0'cout<<"cop最终解释后的命令是:" <<lin<<endl;system(lin);continue;else if (j = 2)/era 删除 parameter = strstr(cmdl, " ");char *tem = "rm -f "unsigned int i = 0;unsigned int j1 = 0;fo
7、r (; i < strlen(tem); i+)lini = *(tem + i);for (; i < strlen(tem) + strlen(parameter); i+)lini = *(parameter + j1);j1+;linstrlen(tem) + strlen(parameter) = '0'cout << "era最终解释后的命令是:" << lin << endl;system(lin);continue;else if (j = 3)/disp 显示字符串 echoparamete
8、r = strstr(cmdl, " ");char *tem = "echo "unsigned int i = 0;unsigned int j1 = 0;for (; i < strlen(tem); i+)lini = *(tem + i);for (; i < strlen(tem) + strlen(parameter); i+)lini = *(parameter + j1);j1+;linstrlen(tem) + strlen(parameter) = '0'cout << "disp最终解释后的命令是:" << lin << endl;system(lin);continue;else if (j = 4)/end退出cout << "end
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业喷洒防尘网施工方案
- 吉林大学《嵌入式系统》2021-2022学年期末试卷
- 乡镇党员积分制管理与考核方案
- 2024武汉市农副产品购销结合合同
- 幼儿园防止欺凌行为的管理制度
- 国际学校课程评估制度创新
- 配电箱智能监控方案
- 2024-2025学年新教材高中英语Unit3Fasterhigherstronger四Writing课时作业含解析外研版选择性必修第一册
- 2025届高考语文二轮复习专项提升对点练二正确使用熟语含解析
- 2024-2025学年新教材高中政治第二单元认识社会与价值选择第6课第2框价值判断与价值选择随堂训练含解析部编版必修4
- 8.12天津滨海新区爆炸事故带来的工程伦理思考
- 德育高级教师职称评审答辩教育理论题目与答案
- 语文二年级下册教学资料汇编:整本书:《小猪变形记》整本书指导
- 三通一平施工组织设计
- 第二语言习得研究期末复习题
- 安徽新北卡化学有限公司年产500吨啶虫脒和150吨联苯菊酯等农药原药产品技术改造项目环境影响报告书
- 防雷检测技术规范练习考试题库(500题)
- 110KV送出线路工程施工方案方案
- (市政)施工质量保证措施(管线、排水、道路等)方案
- 酒泉职业技术学院2022届毕业生《中华优秀传统文化》课程重修及考核方案课程基本情况
- 如何做好巡检
评论
0/150
提交评论