- 11
- 0
- 约3.21千字
- 约 7页
- 2018-06-19 发布于浙江
- 举报
UNIX作业实验报告
UNIX实验报 秦晶杰实验目的编写一个简单的shell,可以运行不带参数的外部命令。支持I/O重定向,可以通过管道连接两个命令。实现原理char cmdstring[100];//命令char cmd[10][100];//命令拆分char Temp[100];char path[100];pid_tpid;//进程定义变量,其中cmdstring是读入的命令字符串,cmd是将字符串拆分为一个一个的单词,Temp拷贝命令,用于execlp中,path是路径名。if(strcmp(path,Home)==0)printf(MyshellQjj:~$ );elseprintf(MyshellQjj:%s$ ,path);显示运行时的路径名命令分解:for(i=0,j=0,k=0;i100;i++){if(cmdstring[i]==\0){strcpy(cmd[j++],cmdstring+k);break;}else if(cmdstring[i]== ){cmdstring[i]=\0;strcpy(cmd[j++],cmdstring+k);k=i+1;}}实现命令拆分,主要是为识别cd命令进行的分解。执行命令:if(strcmp(cmd[0],exit)==0)break;如果是exit命令,直接退出else if(strcmp(cmd[0],cd)=
原创力文档

文档评论(0)