Когда я пытаюсь выполнить команду на удаленном хосте
ssh [email protected] "fswebcam -d /dev/video0 --save -" > img1
Я всегда попадаю в начало файла img1 вперемешку
^]kfswebcam -r 1280x960 -d /dev/video0 --save -\ÿØÿàJFIFÿþ>CREATOR: gd-jp
Что приводит к тому, что файл больше не является допустимым изображением JPEG.
решение1
Я нашел проблему.
Она в оболочке рыбы, когда я ее запускаю, она работает отлично. Никаких перепутанных заголовков в изображении jpeg/bin/bash ssh [email protected] "fswebcam -d /dev/video0 --save -" > img1
решение2
Похоже, это какая-то конфигурация echo на example.com
хосте. Я только что протестировал ssh localhost date
, и он просто выводит дату без какого-либо echo команды date. Попробуйте подтвердить это, запустив date и проверив, получает ли он также первую строку echo.
Попробуйте временно отключить файлы типа .bashrc
, .profile
, и т. д., переименовав или переместив их из домашнего каталога, и посмотрите, сохранится ли эхо. Имеет ли user
значение изменение оболочки входа на /bin/sh?
решение3
Это довольно окольный путь, но вы можете использовать:
ssh [email protected] "fswebcam -d /dev/video0 --save -" | tail -n +2 > img1