mib-checker.sh

来自「ftam等标准协议服务器和客户端的源代码。」· Shell 代码 · 共 135 行

SH
135
字号
: run this script through /bin/shPERSON="$1"MHL="/usr/local/lib/mh/mhl -nobell -noclear -nomoreproc"GAWK="/usr/local/bin/gawk"MOSY="/usr/local/bin/mosy"SNMPI="/usr/local/bin/snmpi"SMI="/usr/include/isode/snmp/smi.defs"MHMAIL="/usr/local/bin/mhmail"SCAN="/usr/local/bin/scan -noclear -noheader"F=/tmp/mib$$ 	   M=1                R=/tmp/mib$$.reply       L=/tmp/mib$$.logI=$F/$MY=/tmp/mib$$.my    D=/tmp/mib$$.defs  Z=/tmp/mib$$a.defsP=/tmp/mib$$.prf   C=/tmp/mib$$.ctxtrap "rm -rf $F $R $L $Y $D $Z $P $C" 0 1 2 3 13 15cd /tmpecho "Path: /tmp" > $PMH="$P" export MHecho "Current-Folder: $F" > $CMHCONTEXT="$C" export MHCONTEXTmkdir $Fcat > $IFROM=`$SCAN -format "%<{reply-to}%{reply-to}%|%<{from}%{from}%|%<{sender}%{sender}%|%<{return-path}%{return-path}%>%>%>%>" $M`SUBJECT=`$SCAN -format "%<{subject}Re: %{subject}%>" $M`$GAWK 'BEGIN	{	    prefix = "";	    started = 0;	}/MIB [ \t]*DEFINITIONS[ \t]*::=[ \t]*BEGIN/ {	    prefix = "";	}/DEFINITIONS[ \t]*::=[ \t]*BEGIN/ {	    if (length(prefix) > 0) {		print prefix;		prefix = "";	    }	    started = 1;	}/MIB/ && !/--.*MIB/ {	    if (!started) {		prefix = $0;		next;	    }	}/\[Page [1-9][0-9]*\]$/ {	    eating = 1;	    next;	}//	{	    if (eating)		next;	}/^[ \t]*$/ {	    if (eating)		next;	}	{	    if (eating)		eating = 0;	    else		if (started)		    print $0;		else		    if (length(prefix) > 0)			prefix = prefix "\n" $0;	}/END$/	{	    exit(0);	}' < $I > $Yecho "% mosy $Y" >> $Rif $MOSY $Y >> $R 2>&1; then    cat $SMI $D > $Z    echo "" >> $R    echo "% snmpi -d -f $Z quit" >> $R    if $SNMPI -d -f $Z quit >> $R 2>&1; then	echo "" >> $R	if [ -z "$PERSON" ]; then	    echo "# No errors were detected in your MIB" >> $R	else	    echo "# Your MIB is being sent to $PERSON for further checking" >> $R	    $MHL -form mhl.body < $I \		| $MHMAIL "$PERSON" -subject "MIB for checking" -from "$FROM"	fi    else	echo "" >> $R	echo "# Pass two (snmpi) failed" >> $R    fielse    echo "" >> $R    echo "# Pass one (mosy) failed" >> $Rfiif [ -z "$PERSON" ]; then    $MHMAIL "$FROM" -subject "$SUBJECT" < $Relse    $MHMAIL "$FROM" -subject "$SUBJECT" -from "$PERSON" -cc "$PERSON" < $Rfidate | $GAWK 'BEGIN	{	    months["Jan"] =  1;	    months["Feb"] =  2;	    months["Mar"] =  3;	    months["Apr"] =  4;	    months["May"] =  5;	    months["Jun"] =  6;	    months["Jul"] =  7;	    months["Aug"] =  8;	    months["Sep"] =  9;	    months["Oct"] = 10;	    months["Nov"] = 11;	    months["Dec"] = 12;	}	{ printf "%2d/%2d %s mib-chec ", months[$2], $3, $4; }'						 > $Lecho $$	| $GAWK '{ printf "%05d ", $1; }'	>> $Lwhoami	| $GAWK '{ printf "(%-8s)  ", $1; }'	>> $Lecho "$FROM" "$SUBJECT"				>> $Lcat $L >> /var/tmp/mosy.logexit 0

⌨️ 快捷键说明

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