📄 rmgroup
字号:
#! /bin/sh## $Revision: 1.16 $## Rmgroup control-message handlerPROG=rmgroup## Some shells don't pass in $* unless we explicitly pass it in here.## =()<. @<_PATH_PARSECTL>@ "$@">()=. /var/spool/news/data/parsecontrol "$@"case ${ACTION} inmail) grep "^$1 " ${ACTIVE} >/dev/null 2>&1 || { # Group doesn't exist exit } P1=$1 export FROM P1 NEWSBIN ARTICLE ( echo "${FROM} requested that ${P1} be removed." echo 'To do this, type the following:' echo " ${NEWSBIN}/ctlinnd rmgroup ${P1}" echo '' echo 'The full article was:' cat ${ARTICLE} ) | ${MAILCMD} -s "rmgroup $1 by ${FROM}" ${NEWSMASTER} exit ;;esac## Make sure the article is approved and that the group exists.${SED} -e '/^$/q' <$ARTICLE >${TEMP}grep '^Approved:' <${TEMP} >/dev/null 2>&1 || { ${WRITELOG} ${LOGFILE} "Unapproved rmgroup by ${FROM}" <${ARTICLE} rm -f ${TEMP} exit}rm -f ${TEMP}grep "^$1 " ${ACTIVE} >/dev/null 2>&1 || { # Group doesn't exist exit}case ${ACTION} inlogit) ${WRITELOG} ${LOGFILE} "rmgroup $1 by ${FROM} skipped" <${ARTICLE} exit ;;esac## Do the work.ctlinnd -s rmgroup "$1"${WRITELOG} ${LOGFILE} "rmgroup $1 by ${FROM}" <${ARTICLE}## We're sending to a file.LOCK=${LOCKS}/LOCK.newsgroupsPID=$$TRY=0MAXTRY=60export LOCK MAXTRY PID LOGFILE TRYwhile [ ${TRY} -lt ${MAXTRY} ]; do shlock -p ${PID} -f ${LOCK} && break sleep 2 TRY=`expr ${TRY} + 1`done## If we got the lock, update the file; otherwise, give up.test ${TRY} -lt ${MAXTRY} || { echo "Newgroup cannot update newsgroups. Locked by" `cat ${LOCK}` 1>&2 exit}${EGREP} -v "^$1[ ]" <${NEWSGROUPS} >${TEMP}cat ${TEMP} >${NEWSGROUPS}rm ${TEMP} ${LOCK}exit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -