smsh1.c

来自「unix linux 编程实践源代码」· C语言 代码 · 共 50 行

C
50
字号
/**  smsh1.c  small-shell version 1 **		first really useful version after prompting shell **		this one parses the command line into strings **		uses fork, exec, wait, and ignores signals **/#include	<stdio.h>#include	<stdlib.h>#include	<unistd.h>#include	<signal.h>#include	"smsh.h"#define	DFL_PROMPT	"> "int main(){	char	*cmdline, *prompt, **arglist;	int	result;	void	setup();	prompt = DFL_PROMPT ;	setup();	while ( (cmdline = next_cmd(prompt, stdin)) != NULL ){		if ( (arglist = splitline(cmdline)) != NULL  ){			result = execute(arglist);			freelist(arglist);		}		free(cmdline);	}	return 0;}void setup()/* * purpose: initialize shell * returns: nothing. calls fatal() if trouble */{	signal(SIGINT,  SIG_IGN);	signal(SIGQUIT, SIG_IGN);}void fatal(char *s1, char *s2, int n){	fprintf(stderr,"Error: %s,%s\n", s1, s2);	exit(n);}

⌨️ 快捷键说明

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