Cómo hacer un script simple que aumente un carácter numérico en 1

Cómo hacer un script simple que aumente un carácter numérico en 1

Tengo que agregar un solo comando para MUCHAS VLAN y me pregunto si puedo generar un archivo de texto simple de alguna manera. Luego puedo simplemente pegar el archivo de texto en el conmutador de red y agregará las líneas necesarias.

Básicamente, este único comando:

ip dhcp-relay 10.32.150.129 10.32.50.1 enable

deberá ejecutarse consecutivamente, aumentando con el .50 en 1.

Entonces sería como, .50, .51, .52, .53...

entonces generaría un archivo 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...

aquí está mi guión

#!/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

Respuesta1

Es realmente simple tal como lo describe:

for k in {50..99}; do echo ip dhcp-relay 10.32.1$k.129 10.32.$k.1 enable; done > pastethisinswitch.txt

pero de esa manera sólo aumentará hasta 99.

Puedes escalarlo hasta 254 así:

for k in {50..154}; do echo ip dhcp-relay 10.32.$(expr 100 + $k).129 10.32.$k.1 enable; done > pastethisinswitch.txt

Su intento original se vería más o menos así en formato funcional:

#!/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

pero también funcionarían muchas formas alternativas.

información relacionada