Я застрял на обновлении некоторых старых скриптов v2.9.x, чтобы они работали с v3.17, но не могу найти способ очистить определённую глобальную переменную. Кто-нибудь может выложить команду(ы), необходимые для очистки уже определённой глобальной переменной? Я просмотрел всю доступную документацию (http://wiki.mikrotik.com/wiki/Scripting), но там даже не упоминается об очистке глобальных переменных. Спасибо!
Все еще невозможно? Я использую скрипт NO-IP для Mikrotik, и время от времени запускаю команду “/system script environment remove [find user=“admin”]”, чтобы удалить все и сделать принудительное обновление IP, но, конечно, после обновления старые скрипты не работают!!!
Я использую скрипт NO-IP для Mikrotik и время от времени запускаю команду “/system script environment remove [find user=“admin”]”, чтобы удалить все и принудительно обновить IP, но, конечно, сейчас после обновления старые скрипты не работают!!! В “/system script environment” нет поля “user”. Наверняка поэтому они и не функционируют.
Можно просто использовать: /system script environment remove [find] Эта команда не выдает никаких ошибок, если ничего не найдено. И вы можете легко сделать так, чтобы она удаляла только переменную с определенным именем, если это необходимо. /system script environment remove [find name="ThatVar"] При использовании WinBox вы также можете перейти в раздел “System → Scripts → Environment tab”, где у вас есть полный список всех глобальных переменных, и вы можете удалить любые из них. В этом меню вы даже можете изменить значение глобальной переменной. Помните, что для выполнения любого из этих действий вам нужны ПОЛНЫЕ ПРАВА АДМИНИСТРАТОРА.
Команда “[find]” просто выбирает все объекты, которые соответствуют критериям поиска, и добавляет их в массив. Если объектов больше одного, команда “remove” просто повторяется для каждого объекта в массиве. То же самое, что если бы вы использовали цикл “:foreach”.