cw_shell.c

来自「linux——shell nachos 的课程设计 第一个」· C语言 代码 · 共 56 行

C
56
字号
#include<stdio.h>#include<unistd.h>#include<stdlib.h>#include<string.h>int main(){ int status,size; int pid; system("clear"); char *argv[]={"ls","-l",NULL}; char *t="quit"; while(1){ system("echo -n '>'");  argv[0]=(char *)malloc(10); scanf("%s",argv[0]);  size=strlen(argv[0]); printf("%d",size); argv[0][size+1]='\0';     if (strcmp(argv[0],t)==0) exit(0);  argv[1]=(char *)malloc(10); scanf("%s",argv[1]);  size=strlen(argv[1]); printf("%d",size); argv[1][size+1]='\0';// if (strcmp(argv[0],t)==0) exit(0); if((pid=fork())==-1)  {	printf(" Fork error\n");	exit(-1);  } else if (pid>0) /*parent process*/  {	wait(&status);	printf("\nCommand OK\n");	//printf("\n Child returned:%d\n",status);  } else  {     printf("break child process");     execvp(argv[0] ,&argv[0]);  }}}

⌨️ 快捷键说明

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