как вставить переменную. скриптик

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

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

[podarok66@RB750Gr3] > {:local remarc ([/system ssh-exec 192.168.100.10 ":put ([/system resource get architecture-name])" as-v
alue]->"output"); :put $remarc}
mipsbe

[podarok66@RB750Gr3] > 
Что я делаю не так?


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
pepelxl
Сообщения: 161
Зарегистрирован: 23 июл 2013, 18:47

[:find in=$remarc key="\n\r"]
Пробуй так
[:find $remarc "\r\n"]


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Все правильно, надо отсечь перевод строки в конце архитектуры - отрубите фундамент. :-)


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Dmitry.Ilinsky
Сообщения: 3
Зарегистрирован: 14 сен 2020, 13:47

pepelxl писал(а): 14 сен 2020, 21:41 [:find in=$remarc key="\n\r"]
Пробуй так
[:find $remarc "\r\n"]
О да! Заработало!
Спасибо огромное, чертовски простое и эффективное решение!


pepelxl
Сообщения: 161
Зарегистрирован: 23 июл 2013, 18:47

Спасибо огромное, чертовски простое и эффективное решение!
На счёт эффективности я бы задумался. :len-2 должно сработать быстрее.


Dmitry.Ilinsky
Сообщения: 3
Зарегистрирован: 14 сен 2020, 13:47

В продолжение темы про переменную Наверное неверно это здесь спрашивать, но тем не менее.
Вот тело скрипта

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

:local newOsVer [/system package update get latest-version];
:foreach devcap in=[caps-man remote-cap find] do= {
   :local devcapmac [/caps-man remote-cap get $devcap base-mac];
    :local devcapip [/ip dhcp-server lease get [find mac-address=$devcapmac] address] ;
    :local remarc ([/system ssh-exec  $devcapip ":put ([/system resource get architecture-name])" as-value]->"output");
           :set remarc [:pick $remarc 0  [:find in=$remarc key="\r\n"]];
    :if ($remarc="mips") do={
            :set $remarc  "mipsbe";
                                                };										
	:local pathcapdownload ("https://download.mikrotik.com/routeros/" . $newOsVer . "/" . "routeros-" . $remarc . "-" . $newOsVer . ".npk");
    /tool fetch url="$pathcapdownload" mode=https dst-path="/CAPs_upd";
                                                   };
}
возникла следующая проблема - поскольку архитектура CAP может повторяться, то необходимо перед определение pathcapdownload проверить, была ли такая архитектура, и если да, то пропустить и определение переменной и скачивание. Собствеено - не могу придумать (второй день туплю) как организовать проверку дубликата. Спасибо если подскажете. Да в любом случае спасибо.


Ответить