LINUX.ORG.RU
ФорумAdmin

ssh псевдотерминал, возврат каретки


0

1

Привет.

Использую комманду ssh -tt remoteuser@remotehost 'command_1' | command_2

command_2 данные получает, но с условием, что ssh вставил перед каждый переводом строки перевод каретки, т.е. был байт 0x0a, приходит 0x0d0a.

Можно ли избавиться?

если мне склероз не изменяет, то по стандарту telnet перевод строки это таки CR/LF, т.ч. тут вроде всё в порядке.

тупое решение в-лоб:

ssh -t user@host 'cmd1' | tr -d '\r' | cmd2

beastie ★★★★★
()
Ответ на: комментарий от placement_new

а он и есть «бинарный», за препевод строки отвечает tty, ssh тут непричём

CR/LF (force ptty): ssh -t user@host 'cmd'

LF (disable ptty): ssh -T user@host 'cmd'

beastie ★★★★★
()
Ответ на: комментарий от placement_new

>sed s/\r\n/\n/g не помогает

И не должен. Хотя обычный

ssh -tt remoteuser@remotehost 'command_1' | dos2unix |command_2

как раз будет работать

fagot ★★★★★
()

оформить команды функциями? и обрабатывать уже их

anonymous
()
Ответ на: комментарий от placement_new

>Спасибо. А что с sed не так?

Чтобы обрабатывать sed'ом больше одной строки (а именно это и надо в данном случае), нужно осилить команду sed'а repeat.

Использовать dos2unix проще.

fagot ★★★★★
()
Ответ на: комментарий от anonymous

>проще переменные использовать и другие конструкции бащяa

Пример плз.

fagot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.