myshell.c

来自「Unix编程例子」· C语言 代码 · 共 32 行

C
32
字号
#include <stdio.h>
#include <errno.h>
#include <string.h>

int main(void)
{
	char buf[256],*cmd,*vec[128];
	int n, sv;

	for(;;){
		printf("Unix Programming => ");
		if(fgets(buf, sizeof(buf), stdin) == NULL){
			exit(0);
		}
		cmd = strtok(buf," \t\n");
		if(cmd){
			if(strcmp(cmd, "exit") == 0){
				exit(0);
			}
			n = 0;
			vec[n++] = cmd;
			while(vec[n++] = strtok(NULL," \t\n"));
			if(fork() == 0){
				execvp(cmd, vec);
				fprintf(stderr, "** ERROR: %s\n", strerror(errno));
				exit(1);
			}
			wait(&sv);
		}
	}
} 

⌨️ 快捷键说明

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