?? shell.c
字號:
#include<sys/types.h>
#include<sys/wait.h>
#include"apue.h"
int
main(void)
{
char buf[MAXLINE];
pid_t pid;
int status;
char *p;
char *argv[MAXLINE];
int i=0;
printf("%% ");
while(fgets(buf,MAXLINE,stdin)!=NULL)
{
buf[strlen(buf)-1]='\0';
if((pid=fork())<0)
err_sys("fork error");
else if(pid==0)
{
argv[i++]=buf;
for(p=buf;*p!='\0';p++)
{
if(*p==' ')
{
*p='\0';
argv[i++]=++p;
}
}
execve(argv[0],argv,NULL);
err_ret("couldn't execute: %s",buf);
exit(127);
}
if((pid=waitpid(pid,&status,0))<0)
err_sys("waitpid error");
printf("%% ");
}
exit(0);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -