Shell 在ZSH中,将图像文件重定向到graphic magick会导致jpeg数据损坏(但在使用文件路径参数时不会)

Shell 在ZSH中,将图像文件重定向到graphic magick会导致jpeg数据损坏(但在使用文件路径参数时不会),shell,pipe,zsh,graphicsmagick,Shell,Pipe,Zsh,Graphicsmagick,目前在我的ZSH shell中 这样做给了我: > gm convert -compress JPEG - - < input.jpg > output.jpg gm convert: Corrupt JPEG data: 873 extraneous bytes before marker 0xd9 (/tmp/gmo1fx92). 造成这种差异的原因是什么?它在bash中工作正常,所以我猜它与zsh有关。我怀疑这与zsh中的i/o重定向有关,或者与Graphicsmagi

目前在我的ZSH shell中

这样做给了我:

> gm convert -compress JPEG - - < input.jpg > output.jpg
gm convert: Corrupt JPEG data: 873 extraneous bytes before marker 0xd9 (/tmp/gmo1fx92).

造成这种差异的原因是什么?

它在
bash
中工作正常,所以我猜它与
zsh
有关。我怀疑这与zsh中的i/o重定向有关,或者与Graphicsmagick从前几个字节和/或文件扩展名推断文件格式的方式有关。也许可以尝试
gm convert-compress JPEG-JPEG:-output.jpg
,以便了解stdin上的文件格式。感谢您的建议,但是它不起作用。后来我在bash下尝试了相同的命令,它确实正常工作。所以它看起来确实像是ZSH中的一个bug。
> cat input.jpg | gm convert -compress JPEG - - > output.jpg
> gm convert -compress JPEG input.jpg output.jpg