do = {...} работает на терминале, но не поверх ssh - PullRequest
0 голосов
/ 11 апреля 2019
:if (condition) do={
...
}

выдает ошибку ниже при выполнении через ssh:

"expected closing brace (line 1 column 20)"

Работает гладко, если вырезать и вставить в терминал Mikrotik

попробовал

:if (condition) do={\

ошибка: «ожидаемое имя команды (строка 1, столбец 20)»

:if (condition) do={\\

ошибка: «ожидаемое имя команды (строка 1, столбец 20)»

# cat / tmp / test

:global x 6;
:if ($x >= 1) do= {
        :put "x=$x x-1=$($x-1)";
        :for i from=0 to="$($x-1)" do= {
                :put "i=$i";
        }
}

# cat / tmp / test | ssh -T -p 22 -o StrictHostKeyChecking = нет пользователя @ адрес

expected closing brace (line 1 column 20)
x=6 x-1=5
expected closing brace (line 1 column 33)
i=

Это результат, когда код вставляется непосредственно на терминал MK:

[local] > :global x 6;
[local] > :if ($x >= 1) do= {
{...         :put "x=$x x-1=$($x-1)"; 
{...         :for i from=0 to="$($x-1)" do= {
{{...                 :put "i=$i";           
{{...         }                   
{... }         

x=6 x-1=5
i=0
i=1
i=2
i=3
i=4
i=5

Подсказка

...