make_table.csh

来自「unix/linux下的路由守护程序」· CSH 代码 · 共 205 行

CSH
205
字号
###	$Id: make_table.csh,v 1.3 1998/09/15 16:48:29 wfs Exp $##    MIB Table/Group Maker##	This is a file designed to create an input file for nroff,#	includable in a MIB document by putting a line of the form##	.so mibTableFile##	into the boilerplate file.  This works on the principle of#	conservation of boilerplate.##	input variables:##	$document	The document being instrumented#	$mib		The name of the nroff input file#	$group		The page heading textset t = "Table"set e = "Entry"set g = "Group"set embedded_table = ()##	make_table "$object[$i]" "$entry" "$i" "$document" #if ("$#argv" == "4") then    set document = "$4"    set mib = "$1"    echo .bp >> $mib    echo This will go in the Table of Contents    echo -n what is the title of the table\?    set group = "$<"    echo -n what is the nroff section 'number?' '(6.?)'    set number = "$<"    echo \.\$0 \"$group\" \"$number\" >> $mib    echo  --\  $group >> $mib    echo '' >> $mib    echo describe the 'group;' these comments will head the $mib area    echo remember to begin each line with the comment symbol '--'    echo CONTROL D terminates input    cat >> $mib    echo '' >> $mib    set table = "table"else    echo -n what document is this\?    set document = "$<"    echo -n what is the name of the '.so' file\?    set mib = "$<"    echo .bp >> $mib    echo This will go in the Table of Contents    echo -n what is the title of the table or 'group?'    set group = "$<"    echo -n what is the nroff section 'number?' '(6.?)'    set number = "$<"    echo \.\$0 \"$group\" \"$number\" >> $mib    echo  --\  $group >> $mib    echo '' >> $mib    echo describe the 'group;' these comments will head the $mib area    echo remember to begin each line with the comment symbol '--'    echo CONTROL D terminates input    cat >> $mib    echo '' >> $mib    echo -n is this a group or a 'table?'    set table = "$<"endif## describe the Table#if ("table" == "$table") then##	Get description of Table#    echo by 'convention', a table or group has an identifying header that    echo is part of every object name inside 'it,' like the IP Group    echo contains the ipNetToMediaTable and the 'ipRouteTable,' and the    echo ipRouteTable specifies the ipRouteEntry and in turn the    echo 'ipRouteNextHop.' the base name for the IP Group is "'ip'", and    echo the base name for the ipRouteTable is 'ipRoute.'    echo ''    echo -n what is the base 'name?'    set base = "$<"    set table = "$base$t"    set entry = "$base$e"    set sequence = `entryname $entry`    echo $table OBJECT-TYPE >> $mib    echo '   ' SYNTAX ' ' SEQUENCE OF $sequence >> $mib    echo '   ' ACCESS ' ' not-accessible >> $mib    echo '   ' STATUS ' ' mandatory >> $mib    echo '   ' DESCRIPTION >> $mib    echo .fi >> $mib    echo .in +.75i >> $mib    echo please describe the $table, in quotes    echo CONTROL D terminates input    echo this is probably something of the form '"A list of ..."'    cat >> $mib    echo .in -.75i >> $mib    echo .nf >> $mib    echo '   ' REFERENCE >> $mib    echo .fi >> $mib    echo .in +.75i >> $mib    echo please tell me what section and paragraph of $document    echo is being instrumented by the $table\?    echo \"$document "$<"\" >> $mib    echo .in -.75i >> $mib    echo .nf >> $mib    if ("$#argv" == "4") then        echo '    ::= {' $2 $3 '}' >> $mib    else        echo -n what is the ASN.1 description for $table\?        echo '    ::= {' "$<" '}' >> $mib    endif    echo '' >> $mib##	Describe the Entry#    echo $entry OBJECT-TYPE >> $mib    echo '   ' SYNTAX ' ' $sequence >> $mib    echo '   ' ACCESS ' ' not-accessible >> $mib    echo '   ' STATUS ' ' mandatory >> $mib    echo '   ' DESCRIPTION >> $mib    echo .fi >> $mib    echo .in +.75i >> $mib    echo please describe the $entry, in quotes    echo CONTROL D terminates input    echo this is probably something of the form '"A single ..."'    cat >> $mib    echo .in -.75i >> $mib    echo .nf >> $mib    echo an instance is one or more of the variables in the entry,    echo separated by 'commas,' telling me how to specifically get the one    echo I want.    echo -n how do you instantiate $entry\?    echo '   ' INDEX '{' "$<" '}' >> $mib    echo '    ::= {' $table 1 '}' >> $mib    echo '' >> $mib    echo $sequence '::=' >> $mib    echo '    SEQUENCE {' >> $mibelse##	Get description of Group#    set table = ""    echo -n what is the group\'s base 'name?'    set base = "$<"    set entry = "$base$g"##	Describe a Group#    echo -n what is the ASN.1 description for $entry\?    echo $entry OBJECT-TYPE '::= {' "$<" '}' >> $mib    echo '' >> $mibendif##	Build the SEQUENCE#echo -n how many objects are there in $entry\?set highest = "$<"set enumeration = `count $highest`set object = ()set type = ()foreach i ($enumeration)    echo -n name object $i ':' $base    set part = "$<"    set object = ($object:q "$base$part")    echo -n what type is $object[$i]\?    set type = ($type:q "$<")    if ("$table" != "") then        echo '       ' $object[$i] >> $mib        if ("$i" == "$highest") then            echo '           ' $type[$i] >> $mib        else            echo '           ' $type[$i], >> $mib        endif    endifendif ("$table" != "") then    echo '}' >> $mib    echo '' >> $mibendif##	Build the various Object Descriptions#foreach i ($enumeration)     if ("$type[$i]" == "TABLE") then	set embedded_table = ($embedded_table:q "$object[$i]")	set echo        make_table "$object[$i]" "$entry" "$i" "$document" 	unset echo    else        make_object "$object[$i]" "$type[$i]" "$entry" "$i" "$mib" "$document"     endifend##	import the embedded tables#foreach i ($embedded_table)	echo .so $i >> $mibend

⌨️ 快捷键说明

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