Como fazer um script simples que aumenta um caractere numérico em 1

Como fazer um script simples que aumenta um caractere numérico em 1

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.

informação relacionada