SSH 管道包含命令

SSH 管道包含命令

當我嘗試在遠端主機上執行命令時

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

這似乎是example.com主機上的一些回顯配置。我剛剛測試過ssh localhost date,它只會列印日期,而不會顯示日期命令的任何回顯。嘗試透過運行日期來確認這一點,並檢查是否也得到第一行回顯。

嘗試透過重新命名或移出主目錄來暫時停用 、 等文件,並查看是否仍收到迴聲.bashrc.profile將登入 shell 更改為user/bin/sh 有什麼區別嗎?

答案3

一種相當迂迴的方法,但你可以使用:

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

相關內容