Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785

Получение результата от FTP комманды

22.01.2016, 13:07. Показов 1527. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Появилась задачка получать по FTP строку и обрабатывать ее в bash.
Сервер обучен команде time, которая возвращает строку формата dd.mm.yyyy hh:nn:ss

Нужен скрипт похожий на такое:
Bash
1
2
3
4
5
6
ftp 127.0.0.1 21
$Переменка=quote TIME
close
 
Работаем с $Переменка
...
Как правильно в Линуксе (Suse 10, если принципиально) читать результат команды?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.01.2016, 13:07
Ответы с готовыми решениями:

Вызов ХП и получение результата
Есть ХП которая возвращает ид пользователя по паре ЛогинПароль. Если пользователя не нашло оно возвращает -1. Проверяя данную функцию...

Получение результата из БД по дате
Есть таблица, у каждой строки есть 2 поля типа DATE: starts и ends Есть задача, выводить результат из БД, который находится в диапазоне...

Получение результата reintreted_cast
Здравствуйте , не могли б вы объяснить мне цепочку преобразований/получений значений , а то самому понять как получается такой результат я...

15
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.01.2016, 13:42
Цитата Сообщение от Hikari Посмотреть сообщение
задачка получать по FTP строку и обрабатывать ее в bash
Это крайне расплывчато. Конкретизируйте вопрос, потому как от ftp Вы ничего в bash не получите, поэтому для написания скритов с ftp используют expect
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
22.01.2016, 13:47  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
Конкретизируйте вопрос
Какая именно нужна информация в качестве конкретики?
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.01.2016, 14:22
Цитата Сообщение от Hikari Посмотреть сообщение
Какая именно нужна информация
Что Вы хотите получить в переменную, какая дальнейшая судьба этой информации и, самое главное, цель всего этого действа.
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
22.01.2016, 14:31  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
Что Вы хотите получить в переменную
Строку. FTP сервер производит определенные вычисления, и возвращает строку.
Цитата Сообщение от Marinero Посмотреть сообщение
какая дальнейшая судьба этой информации
Строка будет разделена на подстроки и дальше в скрипте баша ее элементы будут использоваться. Например с 4-го по 10-й символ будет передан некой программе в качестве параметра.
Цитата Сообщение от Marinero Посмотреть сообщение
цель всего этого действа
Получить ключевые данные с сервера, который отвечает по FTP протоколу и использовать их в скрипте, передавая ответ другим программам.
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.01.2016, 17:34
Цитата Сообщение от Hikari Посмотреть сообщение
данные с сервера, который отвечает по FTP протоколу
Приведите пример данных(их вид) и как Вы их получаете(ну не умещается у меня в голове, что по FTP можно получить кроме файлов или их списка)
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
22.01.2016, 18:14  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
не умещается у меня в голове, что по FTP можно получить кроме файлов или их списка
Фу-у-ух... Команду обычную ты как выполняешь? Как она отвечает? - Результатом строкой с числом впереди. 200 или 500 или какой там статус исполнения. Без обид, но мне странно слышать что по FTP нельзя получить ничего кроме файлов и списка. Та же команда HELP или SYST - они никак к файлам не относятся.
Ладно. Проехали... Уж погуглю.
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.01.2016, 18:16
Hikari, Много слов вместо примера команды и примера полученной строки
0
 Аватар для volodin661
6791 / 2288 / 348
Регистрация: 10.12.2013
Сообщений: 7,897
22.01.2016, 18:37
Цитата Сообщение от Hikari Посмотреть сообщение
Без обид, но мне странно слышать что по FTP нельзя получить ничего кроме файлов и списка
мне стало интересно, продолжай.
( на всяк. случай даю слово, что обижаться не буду, уж больно 'задачка' хороша )
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
22.01.2016, 18:54  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
Много слов вместо примера команды и примера полученной строки
Так ведь пример в топе
Code
1
quote TIME
Сервер отвечает строкой. Ну вот пример:
Вложение 637965
Команда TIME одна из тех, которой научили сервер. Она возвращает простую строку.
Это одна из сотни команд совершенно нестандартных для FTP. И такими командами мы оперируем в сети.
Как еще пояснить, не знаю...

Ну набери любую команду - она прежде всего сделает что? Вернет строку с ответом. Даже команда приема передачи файла - они все отвечают прежде всего строкой с кодом состояния. Никакого секрета тут нет.
Просто есть сервер, который понимает гораздо больше всяких специфических команд.

P.S. Почему-то вложение не прошло премодерацию, выкладываю текст:
Code
1
2
3
4
5
6
7
8
9
10
ftp> open 127.0.0.1 9921
Связь с 127.0.0.1.
220 Hello 127.0.0.1. FTP thread is ready
Пользователь (127.0.0.1:(none)): 0
331 User name okay, need password.
Пароль:
230 User password correct. Wellcome.
ftp> quote time
22.01.2016 17:54:55
ftp>
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.01.2016, 19:25
А никак Вы не объясните, я к этому и подводил. Вас вид приглашения командной строки не натолкнул на мысль что Вы находитесь не в bash'e а интерактивном режиме ftp?
Цитата Сообщение от Hikari Посмотреть сообщение
ftp>
И набор этих команд там весьма ограничен,
Цитата Сообщение от Marinero Посмотреть сообщение
поэтому для написания скритов с ftp используют expect
Поэтому, Ваше партизанское величество, озвучьте задачу — может быть есть способ решения без ftp.
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
22.01.2016, 20:40  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
Вас вид приглашения командной строки не натолкнул на мысль что Вы находитесь не в bash'e а интерактивном режиме ftp?
Эти упреки мы, Мое Величество, уже проходили. И прекрасненько решали в виндоусе ftp.exe с ключом S.
И перенаправлением вывода.
Цитата Сообщение от Marinero Посмотреть сообщение
И набор этих команд там весьма ограничен
Ничего подобного )
И именно за это отвечает команда quote, которая и позволяет отправлять серверу любую команду.
Цитата Сообщение от Marinero Посмотреть сообщение
Ваше партизанское величество, озвучьте задачу
Лан. Проехали. Я уже поняла, что ты не понял что мне нужно ввиду отсутствия знаний по утилитам ftp. Без обид, я ссориться ни с кем не хочу, но твои вопросы элементарно от незнания как работает эта утилита.
Поэтому - забудь.
Цитата Сообщение от Marinero Посмотреть сообщение
может быть есть способ решения без ftp.
Ну как сказать... Нужно на линуксе получать данные из разных хостов и скармливать их нескольким программам. Одной в виде параметров, другой в виде JSON в файле третьей в третьем виде... Сторона-источник закрыта безопасностью наглухо. Есть только HTTP и FTP каналы, по которым данные и запрашиваются. И если в Виндовсе все просто и понятно (мне по крайней мере) - я хотя бы под винду могу написать соответствующее нативное ПО (а вообще-то под виндой на этот случай у меня скриптик на VBS сделан), то под линукс я такое ПО написать пока не могу.
Поэтому и был избран путь работы с башем.

Если есть другой способ более надежный без обновления линукса, без установки на него чего-то - с удовольствием выслушаю предложения.
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.01.2016, 21:56
Получить данные по http-протоколу — вообще никаких проблем (есть куча пэйджеров, которые выведут их в консоль: w3m, links и т.д.). Использовать для выполнения шелл команд ftp-протокол(например выводить логи в файл на сервере и забирать его на рабочую машину), как бы не принято что-ли. Это как чесать левое ухо правой ногой — теоретически можно, но зачем если есть руки?
В любом случае пока Вы не озвучите какие именно данные необходимо получать, то прикладного решения проблемы найти не получится.
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
23.01.2016, 09:13  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
Получить данные по http-протоколу — вообще никаких проблем
К чему это? Я про FTP вопрос задала, а ты на HTTP киваешь. Странно...
Цитата Сообщение от Marinero Посмотреть сообщение
есть куча пэйджеров
Не годится.
Цитата Сообщение от Marinero Посмотреть сообщение
Использовать для выполнения шелл команд ftp-протокол(например выводить логи в файл на сервере и забирать его на рабочую машину), как бы не принято что-ли.
В виндовсе почему-то лет 10 уж командники используем (VBS и ВАТ) и все прекрасно, все довольны. Просто в компании линуксойдов нет, вот и затык в знаниях.
Цитата Сообщение от Marinero Посмотреть сообщение
пока Вы не озвучите какие именно данные необходимо получать, то прикладного решения проблемы найти не получится.
Да уже нашли решение. Тема закрыта. И именно так как я хотела.
Всем спасибо, все свободны.
0
Эксперт NIX
 Аватар для nezabudka
3334 / 752 / 252
Регистрация: 28.06.2015
Сообщений: 1,552
Записей в блоге: 16
23.01.2016, 12:05
Цитата Сообщение от Hikari Посмотреть сообщение
Да уже нашли решение. Тема закрыта. И именно так как я хотела.
Всем спасибо, все свободны.
Пожелейте любознательных, озвучте найденное решение, заодно и уважение к участникам проявите.
Век живи, век учись.
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
23.01.2016, 12:37  [ТС]
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

Цитата Сообщение от nezabudka Посмотреть сообщение
озвучте найденное решение
Легко: plink.exe из Putty. С той лишь разницей, что информация будет запрошена не с Линукса, а наоборот передана на Линукс.
Предварительное решение конкретно под частный случай для линукса. В дальнейшем продумываю написать нативочку на Лазарусе. Или вообще в течении года заменить те дурацкие ПО, что в задаче участвуют на более новые и удобные.

P.S. Есть и еще одно решение именно баш скриптом, но я не буду его озвучивать.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.01.2016, 12:37
Помогаю со студенческими работами здесь

Pdo и получение результата
приветствую форумчане! надеюсь на Вашу помощь! знакомлюсь с pdo, навалял скриптик и не могу заставить работать $fio...

SendMessage получение результата
Пытаюсь найти способ получать от запроса SendMessage Инициализирую функцию SendMessage так: public static extern int...

Получение результата запроса
Делаю авторизацию. Пытаюсь получить имя пользователя, но не пашет. Наверное, неправильно рез-ты запроса обрабатываю. <?php ...

Получение результата запроса 1C
Всем приве! Есть необходимость из C# подключитья к 1С и передать запрос (так как он используется в 1С) и на выходе получить результат....

ADC+DMA получение результата
Всем привет! Только начинаю изучать МК, опыта совершенно не имею.. Использую отладочную плату STM32F3 Dyscovery, пишу в Keil...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru