mib2c 中的保留变量列表

list of reserved variables in mib2c

在哪里可以找到 mib2c "language" 的保留变量名列表?我的意思是未描述 here 的可能变量,例如 ${name},其计算结果为作为参数传递给 mib2c.c.

的 OID 名称
  1. 还有其他类似的变量吗?
  2. 是否有一个包含传递给 mib2c 的 .conf 文件的名称。

net-snmp-5.7.3 查看 local/mib2c,预填充变量由以下代码填充:

$outputName = $mibnode->{'label'} if (!defined($outputName));
$outputName =~ s/-/_/g;
$vars{'name'} = $outputName;
$vars{'oid'} = $oid;
$vars{'example_start'} = "    /*\n" .
"    ***************************************************\n" .
"    ***             START EXAMPLE CODE              ***\n" .
"    ***---------------------------------------------***/";
$vars{'example_end'} = "    /*\n" .
"    ***---------------------------------------------***\n" .
"    ***              END  EXAMPLE CODE              ***\n" .
"    ***************************************************/";

因此,您最终得到以下预填充变量:

  • $name 是使用 -f 选项(或 $mibnode->{'label'} 指定的 "output prefix",如果未使用 -f 选项), 破折号替换为下划线。
  • $oidmib2c 参数的值(在使用帮助中称为“mibNode”)。
  • $example_start$example_end 是硬编码字符串。

就是这样。

要使用 -c 参数的值创建 $config(如果未使用 -c 选项,则创建 mib2c.conf),您可以更改 mib2c 将以下内容添加到上面显示的分配中:

$vars{config} = $configfile;

或者,我相信以下内容也会创建 $config,但传递给 -c 选项的值将以目录名称作为前缀:

@perleval $vars{config} = $configfile; 0@

您可以尝试使用以下方法获取原始值(假定原始值不包含 /);

@perleval $vars{config} = $configfile =~ m{([^/]+)\z}s ?  : undef; 0@

完全未经测试。我对 SNMP 或 mib2c.

一无所知