LINUX.ORG.RU
решено ФорумAdmin

Передать текст на ввод команды

 , ,


0

1

На сервере крутится демон, принимающий команды json и отдающий ответ. Я не могу передать текст команды (/file) скриптом.

Соединение устанавливаю через telnet или netcat, руками ввожу текст запроса (содержит двойные ковычки, двоеточия, запятые, фигурные скобки), мне выдается ответ. Пытаюсь через bash сделать то же самое, сервер принимает соединение, но не выдает ответ (или ответ пустой), например

telnet server.com 1234 < /file
Раскурил вдоль и поперек ман по перенаправлению ввода/вывода, пробовал экранировать символы текста команды, ничего не выходит. От использования exec < /file терминал ваще падает.

★★★★★

set -x включает трассировку

От использования exec < /file терминал ваще падает.

Он не падает, а завершается, так же как и по Ctrl-D. Из /file больше читать нечего, ты ничего ввести не можешь ( т.к. STDIN переопределён ). Что ж ему, висеть что ли?

router ★★★★★ ()
Последнее исправление: router (всего исправлений: 2)
srv: hi -> hello

┌[lord] [home-hell-machine]:~ 
└>echo "hi" | nc 127.0.0.1 12345
hello

┌[lord] [home-hell-machine]:~ 
└>echo "hi" > message

┌[lord] [home-hell-machine]:~ 
└>cat ./message | nc 127.0.0.1 12345
hello

┌[lord] [home-hell-machine]:~ 
└>nc 127.0.0.1 12345 < ./message
hello
Spirit_of_Stallman ★★★ ()
Последнее исправление: Spirit_of_Stallman (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.