Задать вопрос

Написать простой скрипт?

Добрый день!

до этого со скриптами вообще дело не имел.

необходимо создать следующее в текстовом док-те.


например:

create vlan vlan2

configure vlan vlan2 tag 2

configure vlan vlan2 add ports all



create vlan vlan4093

configure vlan vlan4093 tag 4093

configure vlan vlan4093 add ports all

на выходе хотелось бы получить текстовый файл…

какие способы есть? желательно описать поподробней…
  • Вопрос задан
  • 7889 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
nochkin
@nochkin
Если нет perl на Windows, то проще сделать .bat. Что-то типа:
@echo off
set /a "x = 2"
:while1
    if %x% leq 4093 (
        echo create vlan vlan%x%
        echo configure vlan vlan%x% tag %x%
        echo configure vlan vlan%x% add ports all
        set /a "x = x + 1"
        goto :while1
    )


Сохранить это в create.bat и запускать:
create.bat > commands.txt
Появится commands.txt с результатом.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
wlan
@wlan
#!/bin/bash

for x in $(seq 2 4093)
do
    echo "create vlan vlan${x}" >> /tmp/config.txt
    echo "configure vlan vlan${x} tag ${x}" >> /tmp/config.txt
    echo "configure vlan vlan${x} add ports all" >> /tmp/config.txt
done




Один цикл, зачем сюда перл не вижу смысла. Если именно нужен перл, могу позже дать.

P.S. На перле будет тоже самое практически. Только добавить open для открытия файла.
Ответ написан
Комментировать
avalak
@avalak
Вот простой скрипт
#!/usr/bin/env bash
# ./scriptname.sh [filename]
# filename не обязательный параметр

# если аргумент был используем его, если нет значение по умолчанию
file=${1:-data.txt}
# если файл есть удаляем
[ -f "$file" ] && rm "$file"
# простой цикл от 2 до 4093 с шагом 1
for i in $(seq 2 4093); do 
  # дописываем в файл шаблон с переменной
  echo "create vlan vlan$i
configure vlan vlan$i tag $i
configure vlan vlan$i add ports all
" >> "$file"
done
Ответ написан
Комментировать
raskumandrin
@raskumandrin
#!/urs/bin/perl
# ./script.pl > file.txt

print <<"EOF";
create vlan vlan$1
configure vlan vlan$1 tag $1
configure vlan vlan$1 add ports all
EOF
foreach (2..4093);
Ответ написан
@rdntw Автор вопроса
Ребят, спасибо всем большое… но как использовать это в Windows? доп прогу ставить кажется?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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