⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simpleshell.c

📁 linux 下模拟shell的实现。 支持管道等功能。读proc文件
💻 C
字号:
#include <unistd.h>#include <stdio.h>#define MAX_CMD 100int main(){	int pid;	int i,j,k,len,tag;	char cmd[10][10];	char *argv[10]={NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};	char buffer[100];	char *file;	char* tip="kxz_shell# ";		printf("Welcome to kxz_shell!\nDeveloped by Kong Xiangzhen 03055078 jsj33\n ");again:        for(i=0;i<10;i++)	{		argv[i]=NULL;	}		if((len=write(1,tip,11))<0)	{		perror("write error!");		exit(0);	}	if((len=read(0,buffer,sizeof(buffer)))<0)	{		perror("read error!");		exit(0);	}	i=0;	j=0;        k=0;        while(i<len-1)	{			        while((buffer[i]!=' '&&buffer[i]!='\n')&&i<len-1)	        {	         	cmd[j][k]=buffer[i];	        	i++;			k++;         	}		cmd[j][k]='\0';        	argv[j]=cmd[j];		if(buffer[i]==' ')		{			while(buffer[i]==' ')				i++;			k=0;			j++;					}	}         	while((pid=fork())<0);	if(pid==0)	{		file=cmd[0];	       	tag=execvp(file,argv);		if(tag<0)			printf("Bad command!\n");	}	else{		wait(0);		goto again;	}		return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -