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

📄 parsecontrol

📁 早期freebsd实现
💻
字号:
#! /bin/sh##  $Revision: 1.7 $##  Initial parsing of control messages.##  =()<. @<_PATH_SHELLVARS>@>()=. /var/spool/news/data/innshellvarsWRITELOG=${NEWSBIN}/writelogAZ=ABCDEFGHIJKLMNOPQRSTUVWXYZaz=abcdefghijklmnopqrstuvwxyzFROM="`echo \"$1\" | tr ${AZ} ${az}`"REPLYTO="$2"case "$3" in"")    ARTICLE=/dev/null    ;;/*)    ARTICLE="$3"    ;;*)    ARTICLE="${SPOOL}/$3"    ;;esacPATHHOST="$4"umask 002TEMP=${TMPDIR}/ctl$$##  Avoid egrep bugs with empty or-patterns.test -z "${PROG}" && PROG=all${EGREP} "^(${PROG}|all):" <${CTLFILE} >${TEMP}##  Get any arguments.if grep "^Control:[ 	]*${PROG}" <${ARTICLE} >/dev/null 2>&1 ; then    set X `${SED} -n -e "s/^Control:[ 	]*${PROG}//p" -e '/^$/q' <${ARTICLE}`    shiftelse    if grep "^Subject:[ 	]*cmsg[ 	]*${PROG}" \		<${ARTICLE} >/dev/null 2>&1 ; then	set X `${SED} -n -e "s/^Subject:[ 	]*cmsg[ 	]*${PROG}//p" \		-e '/^$/q' <${ARTICLE}`	shift    else	rm -f ${TEMP}	${MAILCMD} -s "Bad header by ${FROM}" \		${NEWSMASTER} <${ARTICLE}	exit    fifiACTION=mailIFS=:exec <${TEMP}while read MESSAGE FROM_PAT NG_PAT ACT_PAT ; do    eval "case \"${FROM}\" in    ${FROM_PAT})	##  Got a match -- if newgroup/rmgroup, must also	##  match the newsgroup pattern.	case \"${PROG}\" in	newgroup|rmgroup)	    case \"$1\" in	    ${NG_PAT})		ACTION=${ACT_PAT}		;;	    esac	    ;;	*)	    ACTION=${ACT_PAT}	    ;;	esac    ;;    esac"donerm -f ${TEMP}IFS="`echo stn | tr stn ' \011\012'`"LOGFILE=mailcase ${ACTION} indrop)    exit    ;;log)    echo "`date` Ignored ${PROG} ${ARTICLE} by ${FROM} (${PATHHOST})" 1>&2    exit    ;;log=*)    LOGFILE=`expr "${ACTION}" : 'log=[	 ]*\(.*\)'`    ACTION=logit    ;;doit=*)    LOGFILE=`expr "${ACTION}" : 'doit=[	 ]*\(.*\)'`    ACTION=doit    ;;esaccase "${LOGFILE}" in"")    LOGFILE=/dev/null    ;;mail|/*)    ;;*)    LOGFILE=${MOST_LOGS}/${LOGFILE}.log    ;;esacexport LOGFILE

⌨️ 快捷键说明

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