我有这个命令,我想用来从摩托罗拉机箱中提取信息。我将使用SNMP V2和Bash脚本来提取信息。
2变量
IP =机箱IP的最后八位字节(1 ... 10)
端口号 =机箱端口ID(10 10 240)
我拥有的命令是:
for ip in `seq 1 10`;
do echo Chassis .$ip ;
snmpwalk -v2c -c ComunityName 172.27.253.$ip IF-MIB::ifAdminStatus.$port;
echo -e "\n";
done
此命令不起作用,因为我尚未声明$port
变量,但如何将此变量集成到同一行命令中,以便它执行seq
10 20 30 40 .... 240?
答案 0 :(得分:2)
使用$port
值的内部循环。当您在Bash下时,可以使用Bash序列{1..10}
代替seq
:
for ip in {1..10}; do
echo Chassis .$ip;
for port in {10..240..10}; do
echo snmpwalk -v2c -c ComunityName 172.27.253.$ip IF-MIB::ifAdminStatus.$port; echo -e "\n";
done
done