TCL прочитать переменную построчно

Модератор: Модераторы разделов

fornike
Сообщения: 246

TCL прочитать переменную построчно

Сообщение fornike »

Добрый день!

Вот два дня уж не нагуглю решение. Есть у меня переменная, получаю её так(в экспекте):

Код: Выделить всё

send "sh run | i ip dhcp pool\r"
expect "#"
set dhcppool $expect_out(buffer)


Т.е. собираю все дхцп пулы с циски, сую в переменную dhcppool, они в переменной находятся в виде нескольких строк вроде того:

Код: Выделить всё

ip dhcp pool LAN
ip dhcp pool voip
ip dhcp pool printer


Далее мне надо в каждый зайти и прописать в нем одну строчку. На ум дальше просится foreach вроде того:

Код: Выделить всё

foreach i $dhcppool { send "ляляля\r" }


Но он зараза читает переменную пословно, а не построчно. Подскажите как мне из переменной $dhcppool каждую строчку прочитать в цикле?
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5458
ОС: Gentoo

Re: TCL прочитать переменную построчно

Сообщение /dev/random »

Shell

$ man n split

Спасибо сказали:
fornike
Сообщения: 246

Re: TCL прочитать переменную построчно

Сообщение fornike »

Это в TCL такая команда??
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5458
ОС: Gentoo

Re: TCL прочитать переменную построчно

Сообщение /dev/random »

fornike писал(а):
10.08.2013 12:15
Это в TCL такая команда??

Команда split - в TCL. man n split - это в командной строке, выведет руководство по TCL-команде split (если соответствующие маны установлены). В этом рукводстве есть пример, который почти идеально совпадает с вашей задачей.
Спасибо сказали:
-sanches-
Сообщения: 333
ОС: Gentoo

Re: TCL прочитать переменную построчно

Сообщение -sanches- »

fornike писал(а):
10.08.2013 12:15
Это в TCL такая команда??


Код: Выделить всё

foreach i [split $dhcppool \r (или \n)] { send "ляляля\r" }

Как-то так.
Спасибо сказали:
fornike
Сообщения: 246

Re: TCL прочитать переменную построчно

Сообщение fornike »

Господа, всем спасибо! :) Разжевали и в рот положили :)
Спасибо сказали: