如何使用2个不同的seq获得2个变量 - Bash Linux

时间:2016-11-02 05:51:00

标签: linux bash shell seq

我有这个命令,我想用来从摩托罗拉机箱中提取信息。我将使用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?

1 个答案:

答案 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