Перейти к содержимому

«Белый» IP от Ростелеком с помощью Entware


Рекомендуемые сообщения

Использую скрипт тов. S_A

В журнале теперь такая ошибка:

Jul 27 11:27:59ndm  Opkg::Manager: /opt/etc/ndm/wan.d/white_ip.sh: /opt/etc/ndm/wan.d/white_ip.sh: line 29: syntax error: unexpected end of file (expecting "fi").
Jul 27 11:27:59ndm  Opkg::Manager: /opt/etc/ndm/wan.d/white_ip.sh: exit code 2
Bash совсем не знаю. Что ему не хватает?
Ссылка на комментарий
Поделиться на других сайтах

Ясно, интересует выбранное имя скрипта, а не имя папки. Имя может быть произвольное. Я пробовал называть скрипты 001-xxx.sh, 002-yyy.sh и т.д., пытаясь добиться их последовательного исполнения, но в момент проведение эксперимента скрипты выполнялись в произвольном порядке.

7 минут назад, Rezdbic сказал:
Bash совсем не знаю. Что ему не хватает?

Ему не хватает вашего понимания в происходящем. Невозможно зажмурившись выполнить чей-то скрипт, чтобы всё заработало. Придётся разбираться в том, что вы делаете.

 

Изменено пользователем Александр Рыжов
Ссылка на комментарий
Поделиться на других сайтах

Предлагаете мне выучить Bash?)) Спасибо, я лет 5 назад пробовал это сделать, ни чего не вышло, не понимаю я этого... ((

Ссылка на комментарий
Поделиться на других сайтах

@Rezdbic, никто не заинтересован в решении _вашей_ проблемы больше _вас_ самих.

И тем более, никто не станет вести безвозмездные курсы bash'а. Попробуйте перевести сообщение об ошибке в переводчике.

Ссылка на комментарий
Поделиться на других сайтах

Это и без переводчика понятно:

линия 29: синтаксическая ошибка: неожиданный конец файла (ожидается "f")

 

8 минут назад, Khaninea сказал:

Убери пустые строки, после предпоследнего fi поставь ";"

убрал, поставил... точно такая же ошибка, но в линии 20

Ссылка на комментарий
Поделиться на других сайтах

Очень жалко, что уважаемые кураторы форума болеют звездной болезнью. Сам очень долго мучался, чтоб настроить скрипт. В итоге выкладываю рабочий вариант. Также у меня настроена нотификация через email посредством msmtp (есть соответсвующая тема на форумах). Mymail@mail.ru это пример, свой адрес не указываю по понятным причинам. Если уведомления не нужны, просто закомментируйте соответсвующие строчки.

010-rostel.sh

Ссылка на комментарий
Поделиться на других сайтах

Тут уже кто-то писал про if-fi,потом удалил сообщение. Насколько помню, проблема была в виндовых окончаниях строк. Проверьте не попали ли у вас 0x0d или другие спец символы в скрипт. Можно для начала просто через dos2unix конвертнуть.

Изменено пользователем S_A
Ссылка на комментарий
Поделиться на других сайтах

По-моему все-таки не вы (месяц назад дело было, не помню).

Да и поделились бы своим решением для других. Т.к. у меня например, скрипт успешно работает именно в том виде как я его выложил.

Ссылка на комментарий
Поделиться на других сайтах

Кстати, к Вам как к автору скрипта есть вопрос ) Зачем в конце скрипта стоят две закомментированные строки?

 #sleep 1
   #ndmq -p 'interface PPPoE0 dyndns update force' -P message

 

Ссылка на комментарий
Поделиться на других сайтах

Ну очевидно же :) , сначала добавил форсированный апдейт полученного IP в dyndns, потом проверил что роутер все-таки пошлет его сам после включения сервиса dyndns и закоментировал.

Хотя кто-то с 2.07 жаловался что после включения апдейт не шлется. Вот в такой ситуации можно раскоментировать.

Ссылка на комментарий
Поделиться на других сайтах

Апдейт шлется где-то через пару минут. А если раскоментировать строку, то тогда вообще нет смысла сначала выключать, а потом включать dyndns, т.к. ip будет отсылаться после каждого сброса, в т.ч. и неудачного

Ссылка на комментарий
Поделиться на других сайтах

3 минуты назад, Khaninea сказал:

Апдейт шлется где-то через пару минут

В моем случае было не так, т.е. сразу. Зачем отключать, я писал на первой странице. Но согласен, прошивки обновляются, логика может меняться.

Ссылка на комментарий
Поделиться на других сайтах

У меня была ошибка (expecting "fi")  проблема оказалась в кодировке. Нужно было файл сохранять не в формате win-1251, а в формате unix-1251. Вот скрипт S_A нормально работающий у меня. Только у меня серая подсеть начинается на 172

white-ip.sh

Изменено пользователем SoNick
Ссылка на комментарий
Поделиться на других сайтах

Простите за нубство, но чем и как сохранить файл в формате unix-1251?

Изменено пользователем Rezdbic
Ссылка на комментарий
Поделиться на других сайтах

Различия в формате: win-1251, unix-1251 заключается в кодах перехода на новую строку. У виндовс 0Dh, 0Ah, а у unix только 0Ah. Я редактировал скрипт в текстовом редакторе Total Commander ( по кнопке F4). Там в меню "Правка"->"Формат новой строки" выбрал "Unix (0Ah)" и работал с редактором как обычно. Или как вариант использовать конвертер dos2unix  как писал S_A.

Ссылка на комментарий
Поделиться на других сайтах

@SoNick в Total Commander'e нет встроенного текстового редактора. По умолчанию на кнопке F4 висит виндовый Блокнот, а у него нет выбора кодировок.

Какой редактор у вас привязан к F4?

Посмотреть можно так: Конфигурация-Настройка-Правка/Просмотр

Изменено пользователем Fandor
Ссылка на комментарий
Поделиться на других сайтах

Вот теперь понятно. В powerpack может быть всё что угодно. У меня лицензированный Total Commander и я привязал к этой кнопке Notepad++

Ссылка на комментарий
Поделиться на других сайтах

При желании можно скачать и поставить текстовый редактор AkelPad http://akelpad.sourceforge.net/ru/index.php он бесплатный и с открытым кодом

Изменено пользователем SoNick
Ссылка на комментарий
Поделиться на других сайтах

Notepad++!
Дня два вспоминал как называется этот мега удобный редактор!))
Только не понятно какаю кодировку там использовать?  Формат новой строки поставил Unix.
А кодировку какую выбрать?

notepad++.jpg

Ссылка на комментарий
Поделиться на других сайтах

Господа пользователи Entware!

Предлагаю Вам начать использовать редакторы из состава Entware - их много разных и удобных. Для копирования в буффер обмена (в putty) достаточно выделить текст мышкой (в mcedit с клавишой Shift). Для вставки текста - клик правой кнопкой (в mcedit с клавишой Shift). Концы строк - нужные. Кому нужны разные кодировки - в mcedit выбираете по Alt-e.

1. mcedit - входит в состав mc, вызывается из mc клавишей F4 или `mcedit <файл>`

2. nano - очень удачная подсветка синтаксиса. Корректнее, чем (1) работает с буфером обмена. F3 - сохранение файла, Ctrl-X - выход. Остальное - см. встроенный Help.

3. joe

4. vim

5. vi (уже установлен)

 

Изменено пользователем zyxmon
Ссылка на комментарий
Поделиться на других сайтах

  • 1 month later...

Так как спрашивают в личку, напишу еще и в тему, может пригодится.

Q: как сделать проверку на несколько адресов серых подсетей?

A: меняем строки поска grep и условие в 'if' на инверсные, добавив нужные проверки. Т.е меняем две строчки (в примере серые подсети: '100.x.y.z' и '80.1.x.y'):

_ip=$(echo $address | grep -v "^100\." | grep -v "^80\.1\.")
if [ -z "$_ip" ]; then

 

Ссылка на комментарий
Поделиться на других сайтах

@Rezdbic, сорри, дезинформировал. Важно лишь имя папки. Насколько помню, сами скрипты выполняются в алфавитном порядке.

Ссылка на комментарий
Поделиться на других сайтах

в связи с возникшей необходимостью был модифицирован скрипт S_A и благодаря его же неоценимой помощи. Данная модификация позволяет отсекать не одну серую подсеть, а столько сколько удасться выявить и прописать. Перед употреблением, необходимо отредактировать серые подсети под свой регион. Редактировать рекомендую в  mcedit. Под виндой в Notepad++ лично у меня нормально отредактировать не получилось.

white-ip.sh

Изменено пользователем Dintra
Ссылка на комментарий
Поделиться на других сайтах

  • 1 month later...

Странно, на Giga II этот скрипт почему-то не работает..

Command::Base: argument parse error.

Opkg::Manager: /opt/etc/ndm/wan.d/white-ip (1).sh: Error: Command::Base: argument parse error.

Кто подскажет на что он ругается? Прошивка  v2.08(AAFS.3)A8.

Ссылка на комментарий
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу
×
×
  • Создать...