这是我正在运行的命令(直接从命令行,以根用户身份登录):
/usr/bin/convert '/var/storage/files/drupal/273f09ab5f8671d3c457719c7955063f.jpg' -resize 127x127! -quality '75' '/var/storage/files/drupal/imagecache/artwork_moreart/273f09ab5f8671d3c457719c7955063f.jpg'
命令的结果只是:Segmentation fault
ImageMagic 版本:ImageMagick 6.4.3 2009-02-25
Linux 版本:SUSE Linux Enterprise Server 11 (x86_64)
这张图片确实存在,我已经将它复制到我的本地计算机并打开它没有问题。
如果您需要其他信息以及如何获取这些信息,请告诉我。
最佳答案
用正确的命令试试吧。 !
首先需要反斜杠转义,否则它会被你的 shell 解释,而不是被 convert
解释:
/usr/bin/convert \
'/var/storage/files/drupal/273f09ab5f8671d3c457719c7955063f.jpg' \
-resize 127x127\! -quality '75' \
'/var/storage/files/drupal/imagecache/artwork_moreart/273f09ab5f8671d3c457719c7955063f.jpg'
如果这不起作用,请尝试用单引号将参数括起来(就像您对其他参数所做的那样:
127x127\! => '127x127\!'
问题的原因也可能存在于 convert
二进制文件之外,并且存在于您想要处理的特定输入 JPEG 中。您可以尝试通过处理一组不同的输入文件来排除这种情况。从内置的 IM 测试文件 logo:
、wizard:
和 netscape:
:
convert wizard: \
-resize "127x127\!" \
127wiz.jpg
convert logo: \
-resize "127x127\!" \
127log.jpg
convert netscape: \
-resize "127x127\!" \
127net.jpg
抱歉,我无法在此处直接重现您的问题。带有 IM 6.4.3 的 SLES 11 对我来说太古老了。
关于linux - 为什么以下转换命令会导致段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30757610/