如何让 2 个变量具有 2 个不同的序列 - Bash Linux

How to have 2 variables with 2 different seq - Bash Linux

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

使用 $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