Как сделать простой сценарий, который увеличивает символ числа на 1

Я должен добавить единственную команду для МНОГИХ VLAN, и задающийся вопросом, могу ли я генерировать простой текстовый файл так или иначе? Затем я могу просто вставить текстовый файл в сетевой коммутатор, и он добавит необходимые строки.

В основном, эта единственная команда:

ip dhcp-relay 10.32.150.129 10.32.50.1 enable

должен будет быть выполнен последовательно, увеличиваясь с.50 на 1.

Таким образом, это было бы похоже.50.51.52.53...

таким образом, это генерировало бы файл как:

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

и т.д...

вот мой сценарий

#!/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
1
задан 2 March 2015 в 22:34
1 ответ

Это действительно просто, как вы это описываете:

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

, но таким образом он будет масштабироваться только до 99.

Вы можете масштабировать его до 254 следующим образом:

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

Ваша первоначальная попытка в рабочей форме будет выглядеть примерно так:

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

, но многие альтернативные формы также будут работать.

4
ответ дан 3 December 2019 в 17:40

Теги

Похожие вопросы