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

📄 lrzszbug.in

📁 Linux下ztelnet 的rz、sz源码
💻 IN
字号:
#! /bin/sh## lrzszbug - create a bug report and mail it to the bug address.## configuration section:#       these variables are filled in by configure#VERSION="@VERSION@"BUGGLIBC="bugs@bulkmail.ohse.de"PATH=$PATH:/bin:/usr/bin:/usr/local/binexport PATHTEMP=/tmp/lrzszbug.$$BUGADDR=${1-$BUGGLIBC}ENVIRONMENT=`uname -a`: ${EDITOR=emacs}: ${USER=${LOGNAME-`whoami`}}trap 'rm -f $TEMP $TEMP.x; exit 1' 1 2 3 13 15trap 'rm -f $TEMP $TEMP.x' 0# How to read the passwd database.PASSWD="cat /etc/passwd"if [ -f /usr/lib/sendmail ] ; then        MAIL_AGENT="/usr/lib/sendmail -oi -t"elif [ -f /usr/sbin/sendmail ] ; then        MAIL_AGENT="/usr/sbin/sendmail -oi -t"else        MAIL_AGENT=rmailfi# Figure out how to echo a string without a trailing newlineN=`echo 'hi there\c'`case "$N" in*c)	ECHON1='echo -n' ECHON2= ;;*)	ECHON1=echo ECHON2='\c' ;;esac# Find out the name of the originator of this PR.if [ -n "$NAME" ]; then  ORIGINATOR="$NAME"elif [ -f $HOME/.fullname ]; then  ORIGINATOR="`sed -e '1q' $HOME/.fullname`"else  # Must use temp file due to incompatibilities in quoting behavior  # and to protect shell metacharacters in the expansion of $LOGNAME  $PASSWD | grep "^$LOGNAME:" | awk -F: '{print $5}' | sed -e 's/,.*//' > $TEMP  ORIGINATOR="`cat $TEMP`"  rm -f $TEMPfiif [ -n "$ORGANIZATION" ]; then  if [ -f "$ORGANIZATION" ]; then    ORGANIZATION="`cat $ORGANIZATION`"  fielse  if [ -f $HOME/.organization ]; then    ORGANIZATION="`cat $HOME/.organization`"  elif [ -f $HOME/.signature ]; then    ORGANIZATION=`sed -e "s/^/  /" $HOME/.signature; echo ">"`  fifi# If they don't have a preferred editor set, then useif [ -z "$VISUAL" ]; then  if [ -z "$EDITOR" ]; then    EDIT=vi  else    EDIT="$EDITOR"  fielse  EDIT="$VISUAL"fi# Find out some information.SYSTEM=`( [ -f /bin/uname ] && /bin/uname -a ) || \        ( [ -f /usr/bin/uname ] && /usr/bin/uname -a ) || echo ""`ARCH=`[ -f /bin/arch ] && /bin/arch`MACHINE=`[ -f /bin/machine ] && /bin/machine`ORGANIZATION_C='<organization of PR author (multiple lines)>'SYNOPSIS_C='<synopsis of the problem (one line)>'SEVERITY_C='<[ non-critical | serious | critical ] (one line)>'PRIORITY_C='<[ low | medium | high ] (one line)>'CLASS_C='<[ sw-bug | doc-bug | change-request | support ] (one line)>'RELEASE_C='<release number or tag (one line)>'ENVIRONMENT_C='<machine, os, target, libraries (multiple lines)>'DESCRIPTION_C='<precise description of the problem (multiple lines)>'HOW_TO_REPEAT_C='<code/input/activities to reproduce the problem (multiple lines)>'FIX_C='<how to correct or work around the problem, if known (multiple lines)>'cat > $TEMP <<EOFSEND-PR: -*- send-pr -*-SEND-PR: Lines starting with \`SEND-PR' will be removed automatically, asSEND-PR: will all comments (text enclosed in \`<' and \`>').SEND-PR:From: ${USER}To: ${BUGADDR}Subject: lrzsz: [50 character or so descriptive subject here (for reference)]>Submitter-Id:	net>Originator:	${ORIGINATOR}>Organization:${ORGANIZATION- $ORGANIZATION_C}>Confidential:	no>Synopsis:	$SYNOPSIS_C>Severity:	$SEVERITY_C>Priority:	$PRIORITY_C>Category:	lrzsz>Class:		$CLASS_C>Release:	lrzsz-${VERSION}>Environment:	$ENVIRONMENT_C`[ -n "$SYSTEM" ] && echo System: $SYSTEM``[ -n "$ARCH" ] && echo Architecture: $ARCH``[ -n "$MACHINE" ] && echo Machine: $MACHINE``[ -f "lrz" ] && echo " include, if possible, the output of 'ldd lrz'"``[ -f "src/lrz" ] && echo " include, if possible, the output of 'ldd src/lrz'"``[ -f "lrzsz-@VERSION@/src/lrz" ] && echo " include, if possible, the output of 'ldd lrzsz-@VERSION@/src/lrz'"`>Description:	$DESCRIPTION_C>How-To-Repeat:	$HOW_TO_REPEAT_C>Fix:	$FIX_CEOFchmod u+w $TEMPcp $TEMP $TEMP.xeval $EDIT $TEMPif cmp -s $TEMP $TEMP.x; then	echo "File not changed, no bug report submitted."	exit 1fi##       Check the enumeration fields# This is a "sed-subroutine" with one keyword parameter# (with workaround for Sun sed bug)#SED_CMD='/$PATTERN/{s|||s|<.*>||s|^[ 	]*||s|[ 	]*$||pq}'while :; do  CNT=0  #  # 1) Severity  #  PATTERN=">Severity:"  SEVERITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP`  case "$SEVERITY" in    ""|non-critical|serious|critical) CNT=`expr $CNT + 1` ;;    *)  echo "$COMMAND: \`$SEVERITY' is not a valid value for \`Severity'."  esac  #  # 2) Priority  #  PATTERN=">Priority:"  PRIORITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP`  case "$PRIORITY" in    ""|low|medium|high) CNT=`expr $CNT + 1` ;;    *)  echo "$COMMAND: \`$PRIORITY' is not a valid value for \`Priority'."  esac  #  # 3) Class  #  PATTERN=">Class:"  CLASS=`eval sed -n -e "\"$SED_CMD\"" $TEMP`  case "$CLASS" in    ""|sw-bug|doc-bug|change-request|support) CNT=`expr $CNT + 1` ;;    *)  echo "$COMMAND: \`$CLASS' is not a valid value for \`Class'."  esac  [ $CNT -lt 3 ] &&    echo "Errors were found with the problem report."  while :; do    $ECHON1 "a)bort, e)dit or s)end? $ECHON2"    read input    case "$input" in      a*)	echo "$COMMAND: problem report saved in $HOME/dead.lrzszbug."	cat $TEMP >> $HOME/dead.lrzszbug        xs=1; exit        ;;      e*)        eval $EDIT $TEMP        continue 2        ;;      s*)        break 2        ;;    esac  donedone##       Remove comments and send the problem report#       (we have to use patterns, where the comment contains regex chars)## /^>Originator:/s;$ORIGINATOR;;sed  -e "/^SEND-PR:/d/^>Organization:/,/^>[A-Za-z-]*:/s;$ORGANIZATION_C;;/^>Confidential:/s;<.*>;;/^>Synopsis:/s;$SYNOPSIS_C;;/^>Severity:/s;<.*>;;/^>Priority:/s;<.*>;;/^>Class:/s;<.*>;;/^>Release:/,/^>[A-Za-z-]*:/s;$RELEASE_C;;/^>Environment:/,/^>[A-Za-z-]*:/s;$ENVIRONMENT_C;;/^>Description:/,/^>[A-Za-z-]*:/s;$DESCRIPTION_C;;/^>How-To-Repeat:/,/^>[A-Za-z-]*:/s;$HOW_TO_REPEAT_C;;/^>Fix:/,/^>[A-Za-z-]*:/s;$FIX_C;;" $TEMP > $TEMP.xif $MAIL_AGENT < $TEMP.x; then  echo "$COMMAND: problem report sent"  xs=0; exitelse  echo "$COMMAND: mysterious mail failure, report not sent."  echo "$COMMAND: problem report saved in $HOME/dead.lrzszbug."  cat $TEMP >> $HOME/dead.lrzszbugfiexit 0

⌨️ 快捷键说明

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