📄 parsecontrol
字号:
#! /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 + -