⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 printsetup

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻
字号:
#!/bin/sh5##########################################################################			Copyright (c) 1988, 1989 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.		##	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.##	SCCSID = "@(#)printsetup	4.2	(ULTRIX)	8/5/90"##	000	Jonathan Wallace	1-Jun-1990##	001	James C. Overman	05-Aug-1990#	    Moved references to /tmp to /usr/tmp and references#	    of /etc/scampdir to /usr/etc/scampdir######################################################################################################################### Set variables, constants, and environment ##############################################set -htrap 'exit 1' 1 2 3 18LL=""SWITCH=$1TTY=$2NUM=`expr $TTY : '.*\([0-9]\)'`TTD=ttyd$NUMED_ERROR="Errors occured while attempting to edit the terminal initializationfile /etc/ttys during this procedure. A temporary error file called/usr/tmp/ed_errs  is created to trap  any  errors  that might occurwhile attempting to add a  terminal device  using  this  procedure.Check /usr/tmp/ed_errs to determine  the  nature of the error,  andthen check /etc/ttys to see if a valid entry was made for tty01.  Refer to the Guide to System Environment Setup for more informationabout  the terminal initialization file /etc/ttys, it's format, anddescription of it's entries; or contact your system administrator."SS_ERR="The software needed to support printers is not loaded on this machine.You can load the necessary subsets using the SCAMP Install/RemoveSubsets option if you have an ULTRIX Software kit and an installationdevice, or see setld(8) for more information on how to load softwareonto this machine."FILE_ERR="The '/usr/lib/lpdfilters' directory could not be found on this machineby SCAMP, which uses files stored in the 'lpdfilters' directory toproperly setup a printing environment.  Check '/usr/lib/lpdfilters'to verify whether it exists or not, and then refer to the setld(8)manpage for instructions on how to delete and then install subsetson your system.  The 'ldpfilters' directory and it's files are locatedin the 'PRINT' subset that is shipped with ULTRIX software."#################### SH5 Subroutines ##################################################################################: Error_Routine - error handler from tty_stat program## Return Codes	Meaning#	0	Success#	1	Generic Failure #	2	Undefined#	3	grep failed to find tty in /etc/ttys#	4	tty specified more than once in /etc/ttys#	5	specified tty is already turned on in /etc/ttys##############################################################Error_Routine(){	case $1 in	3 )		clear		echo "$PROCEDURE_NAMENo valid entry for Line $TTY in /etc/ttys file.  This could be causedby a missing entry, or an entry that is commented out (#).  Check thefile for corruption by refering to the Guide to System Environment Setup,Terminal Initialization File section.  Press <RETURN> to continue: \c"		read resp		return 1		;;	4 )		clear		echo "$PROCEDURE_NAME$TTY is defined more than once in the /etc/ttys file._______________________________________________________________________________"		cat /usr/tmp/tty_lines		echo "_______________________________________________________________________________This causes unpredictable results and is unsupported by thisprocedure.  You may want to take corrective action by manuallyediting the Terminal Initialization File /etc/ttys refering tothe Guide to System Environment Setup, Terminal InitializationFile section, for information about it's format, and descriptionof it's entries; or contact your system administrator.Press <RETURN> to continue: \c"		read resp		return 1		;;	5 )		TTY_ERROR=`cat /usr/tmp/tty_stat`		while :		do			clear			echo "$PROCEDURE_NAMELine $TTY has already been activated for the following use:	$TTY - $TTY_ERRORIf you want to override the current $TTY entry in /etc/ttysand create a new printer line on $TTY anyway, type 'y' to theconfirmation request below. Do you want to override the current $TTY entry? (y/n) [n]: \c"			read resp			case $resp in			[Nn]* | "" )				return 1				;;			[Yy]* )				return 0				;;			* )				;;			esac		done		;;	* )		clear		echo "$PROCEDURE_NAMELine $TTY is in an unknown state.  Check the entries of line $TTYin /etc/ttys by refering to the Guide to System Environment Setup,Terminal Initialization File section.Press <RETURN> to continue: \c"		read resp		return 1		;;	esac}#################################################################: Select_Printer_Routine - Get the printer type#################################################################Select_Printer_Routine(){	while :	do		clear		echo "$PROCEDURE_NAMESelect a printer type from the menu below:	1 - LA75	2 - LA210	3 - LN03	4 - LN03S	5 - LN03R	0 - None of the aboveEnter your choice [3]: \c"		read resp		case $resp in		0 )			exit 0			;;		1 )			PNAME=LA75			PTYPE=la75			break			;;		2 )			PNAME=LA210			PTYPE=la210			break			;;		3 | "" )			PNAME=LN03			PTYPE=ln03			break			;;		4 )			PNAME=LN03S			PTYPE=ln03s			break			;;		5 )			PNAME=LN03R			PTYPE=ln03r			break			;;		* )			echo ""			;;		esac	done}#################################################################: Select_Baud_Routine - select baud rate of printer#################################################################Select_Baud_Routine(){	while :	do		clear		echo "$PROCEDURE_NAMESelect a baud rate for the $PTYPE printer from the menu below.Make sure that your selection matches the baud rate that theprinter is currently set at.	1 - 1200	2 - 2400	3 - 4800	4 - 9600	0 - None of the aboveEnter your choice [3]: \c"		read resp		case $resp in		0 )			return 1			;;		1 )			BAUD=1200			break			;;		2 )			BAUD=2400			break			;;		3 | "" )			BAUD=4800			break			;;		4 )			BAUD=9600			break			;;		* )			echo ""			;;		esac	done}#################################################################: Status_Check_Routine - Make sure Subsets and files are loaded#################################################################Status_Check_Routine(){	[ -f /usr/etc/subsets/*PRINT*.lk ] ||	{		clear		echo ""		echo "$PROCEDURE_NAME"		echo "$SS_ERR"		echo "${LL}Press <RETURN> to continue: \c"		read resp		exit 1	}	[ -d /usr/lib/lpdfilters ] ||	{		clear		echo ""		echo "$PROCEDURE_NAME"		echo "$FILE_ERR"		echo "${LL}Press <RETURN> to continue: \c"		read resp		exit 1	}	[ -d /usr/spool/lpd ] || mkdir /usr/spool/lpd	[ -f /usr/adm/lperr ] || >/usr/adm/lperr	[ -f /usr/adm/lpacct ] || >/usr/adm/lpacct}###################################################: TTY_Off_Routine - Disable entry in /etc/ttys###################################################TTY_Off_Routine(){	ed - /etc/ttys <<xxEOFxx >/usr/tmp/ed_errs	/^$TTY/d	i$TTY	"/etc/getty std.9600"	vt100	off nomodem	#direct connect tty.	w	qxxEOFxx	if [ -s /usr/tmp/ed_errs ]	then		echo "Error resetting tty line $TTY! $ED_ERROR"	else		kill -1 1	fi}#################################################################: Printcap_Routine - put entry in printcap and edit it#################################################################Printcap_Routine(){	[ -f /etc/printcap.orig ] || mv /etc/printcap /etc/printcap.orig	echo "#$PNAME - Default System Printer on Line $TTY" >/etc/printcap	echo "lp0|lp|0|$PTYPE|PS:\\" >>/etc/printcap	cat /usr/etc/scampdir/lpr_info/$PNAME >>/etc/printcap	ed - /etc/printcap <<xxEOFxx 2>&1 >/dev/null		/^#$PTYPE/d		/:br/di	:br#$BAUD:\\.		w		qxxEOFxx	case $? in	0 )		clear		echo "$PROCEDURE_NAMEPrinter setup complete.  Press <RETURN> to continue: \c"		;;	* )		clear		echo ""		echo "$PROCEDURE_NAME$ED_ERRORPress <RETURN> to continue: \c"		;;	esac	read resp}###############################################: Remove_Printer_Routine -###############################################Remove_Printer_Routine(){	clear	echo "$PROCEDURE_NAMERemoving printer support for $TTY ..... \c"	[ -f /etc/printcap.orig ] && mv /etc/printcap.orig /etc/printcap	sleep 2	echo "done.Press <RETURN> to continue: \c"	read resp}############################################################ MAIN PROGRAM PROCEDURE ROUTINE ###################################while :do	case $SWITCH in	-A )		PROCEDURE_NAME="*** Printer Setup Procedure ***"		tty_scan $TTY		case $? in		0 )			;;		5 )			Error_Routine $?			case $? in			0 )				TTY_Off_Routine				;;			1 )				exit 1				;;			esac			;;		* )			Error_Routine $?			case $? in			1 )				exit 1				;;			esac			;;		esac		Status_Check_Routine		Select_Printer_Routine		Select_Baud_Routine		case $? in		1 )			continue			;;		esac		Printcap_Routine		break		;;	-R )		PROCEDURE_NAME="*** Printer Removal Procedure ***"		Remove_Printer_Routine		break		;;	esacdoneexit 0

⌨️ 快捷键说明

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