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

我找到了问题所在。
它在 fish shell 中,我运行时它运行正常。jpeg 图像中没有混淆的标题/bin/bash ssh [email protected] "fswebcam -d /dev/video0 --save -" > img1

答案2

这似乎是example.com主机上的一些回显配置。我刚刚测试过ssh localhost date,它只会打印日期,而不会回显 date 命令。尝试通过运行 date 来确认这一点,并检查它是否也获得第一行回显。

尝试通过重命名或移出主目录来暂时禁用诸如、等文件,然后查看是否仍会收到回显。将登录 shell 更改为.bashrc/ bin/sh 有什么不同吗?.profileuser

答案3

这是一种相当迂回的方式,但你可以使用:

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

相关内容