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

Не корректно срабатывает условие != для пустого адреса

Добавлено: 20 авг 2014, 09:22
mvp
Отлаживаю скрипты и столкнулся со следующим:
:global MainIfAddress ""
:if ($MainIfAddress = "") do={
:log info "null"
}
:set MainIfAddress [ /ip dhcp-client get [ /ip dhcp-client find interface="wan1" ] address ]
:if ($MainIfAddress != "") do={
:log info "not null"
}
Первое условие работает на ура, а вот второе...
Есть адрес, то всё красиво отрабатывает, но вот когда DHCP лежит, т.е. адрес пустой, то условие != всё равно выполняется, визуально делаю :log info "not null >$$MainIfAddress<", выводит ><.

Никто не сталкивался с таким?

Re: Не корректно срабатывает условие != для пустого адреса

Добавлено: 20 авг 2014, 21:10
podarok66
Не очень понятная конструкция, признаться... Там же не пустое место выходит в переменной, просто значение не имеет обозначения. Я бы прописал подобный финт как-то так:

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

{:global MainIfAddress ;
:set MainIfAddress [ /ip dhcp-client get [ /ip dhcp-client find interface="ether2" ] address ];
:local zet [:pick $MainIfAddress 0 1];
:if ($zet != nil) do={
:log info "not null"
} else={:log info "null"}
}

Не так, чтобы уж очень красиво, костыль тот еще, но работает вроде бы...

Re: Не корректно срабатывает условие != для пустого адреса

Добавлено: 21 авг 2014, 08:01
mvp
Ок, спасибо, проверю.

Ошибка конечно не критическая, но просто у меня скрипт в одном месте из-за этого адрес стал обновлять на ddns...

Re: Не корректно срабатывает условие != для пустого адреса

Добавлено: 21 авг 2014, 08:07
vqd
статус надо проверять, а не наличие ИП. По идее разницы нет но так как то более правильно

Re: Не корректно срабатывает условие != для пустого адреса

Добавлено: 21 авг 2014, 08:09
podarok66
vqd писал(а):статус надо проверять, а не наличие ИП. По идее разницы нет но так как то более правильно

Ну я же говорю, что у меня костыль получился. Но я исходил из условий стартового топика...

Re: Не корректно срабатывает условие != для пустого адреса

Добавлено: 21 авг 2014, 08:34
mvp
Чувствую я что до финальных скриптов мне еще ой как далеко... :-):