echo.c

来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C语言 代码 · 共 125 行

C
125
字号
#ifndef lintstatic CHTYPE *sccsid = "@(#)echo.c	4.1      7/17/90";#endif lint/************************************************************************ *									* *			Copyright (c) 1986 by				* *		Digital Equipment Corporation, Maynard, MA		* *			All rights reserved.				* *									* *   This software is furnished under a license and may be used and	* *   copied  only  in accordance with the terms of such license and	* *   with the  inclusion  of  the  above  copyright  notice.   This	* *   software  or  any  other copies thereof may not be provided or	* *   otherwise made available to any other person.  No title to and	* *   ownership of the software is hereby transferred.			* *									* *   This software is  derived  from  software  received  from  the	* *   University    of   California,   Berkeley,   and   from   Bell	* *   Laboratories.  Use, duplication, or disclosure is  subject  to	* *   restrictions  under  license  agreements  with  University  of	* *   California and with AT&T.						* *									* *   The information in this software is subject to change  without	* *   notice  and should not be construed as a commitment by Digital	* *   Equipment Corporation.						* *									* *   Digital assumes no responsibility for the use  or  reliability	* *   of its software on equipment which is not supplied by Digital.	* *									* ************************************************************************//* * *   Modification History: * * 001 - Gary Gaudet for Andy Gadsby 09-mar-88 *	i18n version of csh * * * *//* *	UNIX shell * *	Bell Telephone Laboratories * */#include	"defs.h"#define	exit(a)	flushb();return(a)extern int exitval;echo(argc, argv)CHTYPE **argv;{	register CHTYPE	*cp;	register int	i, wd;	int	j;		if(--argc == 0) {		prc_buff('\n');		exit(0);	}	for(i = 1; i <= argc; i++) 	{		sigchk();		for(cp = argv[i]; *cp; cp++) 		{			if(*cp == '\\')			switch(*++cp) 			{				case 'b':					prc_buff('\b');					continue;				case 'c':					exit(0);				case 'f':					prc_buff('\f');					continue;				case 'n':					prc_buff('\n');					continue;				case 'r':					prc_buff('\r');					continue;				case 't':					prc_buff('\t');					continue;				case 'v':					prc_buff('\v');					continue;				case '\\':					prc_buff('\\');					continue;				case '0':					j = wd = 0;					while ((*++cp >= '0' && *cp <= '7') && j++ < 3) {						wd <<= 3;						wd |= (*cp - '0');					}					prc_buff(wd);					--cp;					continue;				default:					cp--;			}			prc_buff(*cp);		}		prc_buff(i == argc? '\n': ' ');	}	exit(0);}

⌨️ 快捷键说明

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