📄 simpleshell.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 + -