сделайте отладку
Посмотре чего в переменых записано
:put $variable
:put [/file get Wi-Fi_Pass.txt contents]
И запускайте. Смотрите где чего теряется
Так же проверте чего у вас в строке fetch формируется. А то может у вас в файле симфор переноса строки есть который тупо впихивается в фетч и оноестествено вылетает, а в переменую руками вы без переносастроки данные вставляете и потому у вас все ок
как вставить переменную. скриптик
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
-
- Модератор
- Сообщения: 3605
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
-
- Сообщения: 47
- Зарегистрирован: 02 авг 2016, 12:47
верно в файле есть перенос строки. в переменную берется без переноса, соответственно в фетч берется из переменной без переноса. или я что то не понимаю?vqd писал(а): ↑01 авг 2018, 10:00 сделайте отладку
Посмотре чего в переменых записано
:put $variable
:put [/file get Wi-Fi_Pass.txt contents]
И запускайте. Смотрите где чего теряется
Так же проверте чего у вас в строке fetch формируется. А то может у вас в файле симфор переноса строки есть который тупо впихивается в фетч и оноестествено вылетает, а в переменую руками вы без переносастроки данные вставляете и потому у вас все ок
убрать из файла перенос строки убрать никак. можно ли как то брать значение без переноса?
-
- Модератор
- Сообщения: 3605
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
с чего вы взяли что без преноса то берется? Там обсалютно все символы включая служебные. На деле вы незнаете как у вас строка фетча формируется. Вот выясните это и все.
Есть интересная задача и бюджет? http://mikrotik.site
-
- Сообщения: 47
- Зарегистрирован: 02 авг 2016, 12:47
Действительно в переменную попадает с переносом и в фетч тоже. отсюда проблема.
можно ли как то брать из файла только печатные символы или указанный диапазон символов из первой строки?
Взял я с потолка, не достаточно компетентен. пытаюсь учитсо. так что Извиняйте если для Вас мои вопросы являются глупыми :)
-
- Модератор
- Сообщения: 3605
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
ну например так
{
:global str "123\n\r"
:put [:pick $str 0 [:find in=$str key="\n\r"]]
}
{
:global str "123\n\r"
:put [:pick $str 0 [:find in=$str key="\n\r"]]
}
Есть интересная задача и бюджет? http://mikrotik.site
-
- Сообщения: 47
- Зарегистрирован: 02 авг 2016, 12:47
выполнил это:
{
{... :put [/file get Wi-Fi_Pass.txt contents]
{... :global RandomOrg [[:pick [/file get Wi-Fi_Pass.txt contents] 0 8] [:find in=$RandomOrg key="\n\r"]]
{... :put $RandomOrg
{... }
GWxC8Ayx
GWxC8Ayx
Все получилось, а можно как то без указания диапазона брать всё содержимое переменной за исключением переходов и пробелов?
-
- Модератор
- Сообщения: 3605
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
ну собственно я вам дал один из вариантов. Дальше уж думайте
Есть интересная задача и бюджет? http://mikrotik.site
-
- Сообщения: 47
- Зарегистрирован: 02 авг 2016, 12:47
-
- Сообщения: 3
- Зарегистрирован: 14 сен 2020, 13:47
Мое почтение,
Сильно обрадовался, увидев решение проблемы выше, но как выяснилось - не так всё и просто (для меня точно).
Есть вот такая команда:
:local remarc ([/system ssh-exec 192.168.1.12 ":put ([/system resource get architecture-name])" as-value]->"output");
возращает она архитектуру удаленного Микротика. И всё бы отлично, но переменная выглядит как:
"mipsbe
"
то есть с лишней строкой. Всё попытки типа :set remarc [:pick $remarc 0 [:find in=$remarc key="\n\r"]] приводят к тому, что :find возвращает пустое значение. Попытка перевести remarc в string/array/num не дает иного результата.
Буду очень признателен за подсказку.
Спасибо
Сильно обрадовался, увидев решение проблемы выше, но как выяснилось - не так всё и просто (для меня точно).
Есть вот такая команда:
:local remarc ([/system ssh-exec 192.168.1.12 ":put ([/system resource get architecture-name])" as-value]->"output");
возращает она архитектуру удаленного Микротика. И всё бы отлично, но переменная выглядит как:
"mipsbe
"
то есть с лишней строкой. Всё попытки типа :set remarc [:pick $remarc 0 [:find in=$remarc key="\n\r"]] приводят к тому, что :find возвращает пустое значение. Попытка перевести remarc в string/array/num не дает иного результата.
Буду очень признателен за подсказку.
Спасибо
-
- Сообщения: 1601
- Зарегистрирован: 15 сен 2017, 09:03
Вы сначала посмотрите, что реально возвращается и какой длины:
:put $remarc
:put [:len $remarc]
:put [:typeof $remarc]
Я проверить это не могу, не работаю с ssh.
Вообще запись у Вас кривая какая-то по синтаксису. Если не прокаит Ваш вариант, то есть вариант получить те же сведения через OID с удаленного Тика по SNMP.
:put $remarc
:put [:len $remarc]
:put [:typeof $remarc]
Я проверить это не могу, не работаю с ssh.
Вообще запись у Вас кривая какая-то по синтаксису. Если не прокаит Ваш вариант, то есть вариант получить те же сведения через OID с удаленного Тика по SNMP.
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947