Страница 3 из 3

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

Добавлено: 14 сен 2020, 21:19
podarok66

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

[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] > 
Что я делаю не так?

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

Добавлено: 14 сен 2020, 21:41
pepelxl
[:find in=$remarc key="\n\r"]
Пробуй так
[:find $remarc "\r\n"]

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

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

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

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

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

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

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

Добавлено: 16 сен 2020, 12:09
Dmitry.Ilinsky
В продолжение темы про переменную Наверное неверно это здесь спрашивать, но тем не менее.
Вот тело скрипта

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

: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 проверить, была ли такая архитектура, и если да, то пропустить и определение переменной и скачивание. Собствеено - не могу придумать (второй день туплю) как организовать проверку дубликата. Спасибо если подскажете. Да в любом случае спасибо.