Tenho que adicionar um único comando para MUITAS vlans e estou me perguntando se posso gerar um arquivo de texto simples de alguma forma? Depois, posso simplesmente colar o arquivo de texto no switch de rede e ele adicionará as linhas necessárias.
Basicamente, este único comando:
ip dhcp-relay 10.32.150.129 10.32.50.1 enable
precisará ser executado consecutivamente, aumentando 0,50 em 1.
Então seria 0,50, 0,51, 0,52, 0,53...
então geraria um arquivo como:
ip dhcp-relay 10.32.150.129 10.32.50.1 enable
ip dhcp-relay 10.32.151.129 10.32.51.1 enable
ip dhcp-relay 10.32.152.129 10.32.52.1 enable
etc...
aqui está meu roteiro
#!/bin/bash
if xy=50
echo "ip dhcp-relay 10.32.150.129 10.32.50.1 enable" >> pastethisinswitch.txt
echo "ip dhcp-relay 10.32.1xy.129 10.32.xy.1 enable" >> pastethisinswitch.txt
xy+1
until xy=99
done
Responder1
É muito simples como você descreve:
for k in {50..99}; do echo ip dhcp-relay 10.32.1$k.129 10.32.$k.1 enable; done > pastethisinswitch.txt
mas só aumentará para 99 dessa forma.
Você pode escalá-lo para 254 assim:
for k in {50..154}; do echo ip dhcp-relay 10.32.$(expr 100 + $k).129 10.32.$k.1 enable; done > pastethisinswitch.txt
Sua tentativa original ficaria mais ou menos assim na forma de trabalho:
#!/bin/bash
k=50
while [ "$k" -lt "100" ];
do
echo "ip dhcp-relay 10.32.1$k.129 10.32.$k.1 enable " >> outfile
k=$((k+1))
done
mas muitas formas alternativas também funcionariam.