Доброго вам времени суток. Возможно глупый вопрос но:
Настраиваю на роутере прошивку openwrt, и нужен скрипт, который должен записать в файл результат выполнения команды ifconfig и положить его на FTP сервер. В качестве клиента использую cmdftp.
В консоле всё работает. По привычке пользователя Windows я написал скрипт, который (в Винде) просто подставлял бы значение строчек на каждый вопрос из консоли. Скрипт выглядит так:
---------------
ifconfig > /root/ip.txt ## выводим ifconfig в файл
cmdftp -n 192.168.1.3 ## подключаемся к ftp серверу с ручным вводом логина\пароля
login ## на запрос программы о логине, вводим логин
passwd ## на запрос программы о пароле, вводим пароль
l ## команда программе активировать локальный интерфейс
cd /root ## зайти в папку рута
u ip.txt /input ## отправить файл на ftp, в папку input
quit ## отключиться от ftp сервера
---------------
Но при выполнении, скрипт успешно отрабатывается только до второй строки (запуска программы на подключение к серверу), после чего он останавливается и ftp-клиент «ждёт», пока будет введён логин. После закрытия программы скрипт продолжает выполнение, и вводит в консоль логин, пароль, итд.
Скорее всего я просто привык к bat скриптам, и в Линуксе подобное пишется по-другому. Подскажите пожалуйста, как именно. Мне нужно, чтобы скрипт просто «подставлял» заранее известные команды ftp-клиенту.
P.S: Мучаюсь со скриптом, а не с dyndns потому, что нужно знать локальный, а не внешний адрес. А в качестве ftp-клиента использую cmdftp из-за жёстких ограничений на память в роутере. Другие ftp-клиенты просто не помещаются в памяти :(