forum.bitel.ru http://forum.bitel.ru/ |
|
TelnetServiceActivator sa.command Escape character http://forum.bitel.ru/viewtopic.php?f=44&t=11539 |
Страница 1 из 1 |
Автор: | Alijon [ 20 апр 2016, 11:27 ] |
Заголовок сообщения: | TelnetServiceActivator sa.command Escape character |
Добрый день! Подскажите пожалуйста. На TelnetServiceActivator для использования скриптовых финкций на команде в Microtik-е, как можно исключить некоторые символы: ";", "$'' в команде: Код: sa.command.serv.enable={:global funcAdd do={:local tList; :local res; :if ([:len [/queue simple find name="Internet 5M" .... Пробовал ставить "\" перед этими символами, не получилось. Заранее спасибо! |
Автор: | Alijon [ 20 апр 2016, 15:46 ] |
Заголовок сообщения: | Re: TelnetServiceActivator sa.command Escape character |
Симворл ";" - удалось заменить переменной, настройки команды выглядат так: Код: SPR=; sa.command.serv.enable={:global funcAdd do={:local tList$param(SPR) :local res$param(SPR) :if ([:len [/queue simple find name="Internet 5M"]]>0) .... Но "$" -таким способом не получается, выдает ошибку: Код: SPR=; CONTR=$vContr sa.command.serv.enable={:global funcAdd do={:local tList$param(SPR) :local res$param(SPR) :if ([:len [/queue simple find name=$param(CONTR)]]>0) .... Код: 04-20/11:57:02 ERROR [sa-p-13-t-44] EventWorker - Error on device:1 - java.lang.StringIndexOutOfBoundsException: String index out of range: 1
ru.bitel.bgbilling.common.BGException: Error on device:1 - java.lang.StringIndexOutOfBoundsException: String index out of range: 1 at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:489) at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTaskImpl(AsyncEventWorker.java:211) at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTask(AsyncEventWorker.java:183) at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.doTasks(AsyncEventWorker.java:109) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:239) at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:145) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46) Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 1 at java.lang.String.charAt(String.java:658) at java.util.regex.Matcher.appendReplacement(Matcher.java:772) at ru.bitel.common.util.MacrosFormat.formatImpl(MacrosFormat.java:149) at ru.bitel.common.util.MacrosFormat.format(MacrosFormat.java:84) at ru.bitel.common.util.MacrosFormat.format(MacrosFormat.java:35) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.executeCommands(AbstractTerminalServiceActivator.java:731) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.serviceEnable(AbstractTerminalServiceActivator.java:886) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.serviceModify(AbstractTerminalServiceActivator.java:853) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.serviceModify(ServiceActivatorSet.java:413) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doCommand(ServiceActivatorDeviceWorker.java:512) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:485) ... 15 more |
Автор: | Amir [ 20 апр 2016, 15:56 ] |
Заголовок сообщения: | Re: TelnetServiceActivator sa.command Escape character |
$ - вроде можно указать так: $$() ; - если команды указывать не одной строкой через ;, а отдельными параметрами: sa.command.serv.enable.1=co;mmand1 sa.command.serv.enable.2=comm;and2 Ну и наверно можем добавить макрос для ; аналогично $$(). |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |