我想编写一个脚本,就像基本上执行CLI命令:如何在Perl脚本中CLI参数组合作为变量
snmpget -v 1 -c xxxxxx-Ovq xx.xx.xx.xxx .1.3.6.1.2.1.1.8.0
其中xxxxx是一个密码和xx.xx.xx. xxx和IP正常返回:
49:22:12:15.00
我的脚本是:
#!/usr/local/bin/perl
#snmpget -v 1 -c xxxxx -Ovq xx.xx.xx.xxx .1.3.6.1.2.1.1.8.0
$SNMP_GET_CMD = "snmpget -v1 -c xxxxx-Ovq";
$SNMP_TARGET = "xx.xx.xx.xxx";
my $sysORLastChange = '${SNMP_GET_CMD} ${SNMP_TARGET} .1.3.6.1.2.1.1.8.0';
chomp($sysORLastChange);
print("${SNMP_TARGET} as an Input Line Reading of ${sysORLastChange}\n");
,输出是:
xx.xx.xx.xxx as an Input Line Reading of ${SNMP_GET_CMD} ${SNMP_TARGET} .1.3.6.1.2.1.1.8.0
应该返回如下:
xx.xx.xx.xxx as an Input Line Reading of 49:22:12:15.00
是否有与我在脚本中使用的语法什么问题?
我认为OP要实际*执行* snmpget命令,将* result *插入到变量中。 – chepner
要执行插入的字符串,请将双引号更改为“qx(...)”。 – dgw
答复已更新。谢谢! – stevieb