скрипты. удалить пробелы?

Раздел для тех, кто начинает знакомиться с MikroTik
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.

1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
Ответить
poppy
Сообщения: 24
Зарегистрирован: 17 ноя 2017, 11:42

С налету не нашел описания функций работы со строками. Гдето это есть?

скрипт

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

:local info1 [/system identity get name];
:local info2 [/system routerboard get model];
:local info3 [/system routerboard get serial-number];
:local url1 "MT"
:set url1 ($url1."_".$info1."_".$info2."_".$info3);
:log info "$url1"


выдает строку, которая содержит пробел из-за RouterBOARD 941-2nD
как убрать пробеды из строковой переменной?


Аватара пользователя
Dragon_Knight
Сообщения: 1724
Зарегистрирован: 26 мар 2012, 18:21
Откуда: МО, Мытищи
Контактная информация:

Пройтись циклом по строке и заменить все пробелы..

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

:local inputStr "";
:local outputStr "";
:for i from=0 to=([:len $inputStr] - 1) do={
   :local char [:pick $inputStr $i];
   :if ($char = " ") do={:set $char "%20";};
   :if ($char = "-") do={:set $char "%2D";};
   :set outputStr ($outputStr . $char);
};


Небольшой свод правил логики и ссылок:
  1. Если устройство имеет Ethernet порт, то оно обязано быть подключено через него. Компьютер, Ноутбук, Телевизор, Принтер, Камера видеонаблюдения, и т.д.
  2. Если нет возможности протянуть кабель, то найдите её, или страдайте со своими проблемами Wi-Fi дальше.
  3. Wi-Fi это сеть для мобильных устройств. Если Вы подключили свой шикарный 50" телевизор не кабелем, то без фотоотчёта, когда он лежит у Вас в кармане дальнейшего разговора не получиться. Это относится и ко всем остальным устройствам.
  4. Если Ваше устройство вызывает вопросы в работе, первое что необходимо делать: NetInstall + дальнейшая настройка вручную.
  5. Не используйте WebFig или QuickSet - это пути к глюкам и ошибкам. Только SSH или WinBox, и да, - WinBox есть под Android.
  6. name.rsc - это текстовый файл, и Вы можете его открыть блокнотом.
  7. Если Вы хотите связаться со мной для ремонта или настройки, то: Telegram ( Не благотворительность ).
  8. Мой сайт по Mikrotik: Global Zone >> MikroTik.
poppy
Сообщения: 24
Зарегистрирован: 17 ноя 2017, 11:42

спасибо. переделал на

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

:local url2 "";
:for i from=0 to=([:len $url1] - 1) do={
   :local char [:pick $url1 $i];
   :if ($char = " ") do={:set $char "_";};
   :set url2 ($url2 . $char);
};


Ответить