SSH-Pipe-Include-Befehl

SSH-Pipe-Include-Befehl

Wenn ich versuche, einen Befehl auf einem Remote-Host auszuführen

ssh [email protected] "fswebcam -d /dev/video0 --save -" > img1

Ich bekomme immer oben in der img1-Datei gemischt

^]kfswebcam -r 1280x960 -d /dev/video0 --save -\ÿØÿàJFIFÿþ>CREATOR: gd-jp

Dies führt dazu, dass die Datei kein gültiges JPEG-Bild mehr ist

Antwort1

Ich habe das Problem gefunden.
Es liegt in der Fish-Shell, wenn ich es ausführe, funktioniert es einwandfrei. Keine durcheinandergeratenen Header im JPEG-Bild/bin/bash ssh [email protected] "fswebcam -d /dev/video0 --save -" > img1

Antwort2

Dies scheint eine Echo-Konfiguration auf dem example.comHost zu sein. Ich habe es gerade getestet ssh localhost dateund es druckt nur das Datum ohne Echo des Datumsbefehls. Versuchen Sie dies zu bestätigen, indem Sie date ausführen und prüfen Sie, ob dies auch eine erste Echozeile ergibt.

Versuchen Sie, Dateien wie .bashrc, .profileusw. vorübergehend zu deaktivieren, indem Sie sie umbenennen oder aus dem Home-Verzeichnis verschieben, und prüfen Sie, ob Sie immer noch ein Echo erhalten. Macht es usereinen Unterschied, wenn Sie die Login-Shell für in /bin/sh ändern?

Antwort3

Dies ist ein ziemlich umständlicher Weg, aber Sie könnten Folgendes verwenden:

ssh [email protected] "fswebcam -d /dev/video0 --save -"  | tail -n +2 > img1

verwandte Informationen