在linux bash异常结果中获取命令行的输出

时间:2013-11-21 17:06:18

标签: linux bash shell imagemagick compare

#!/bin/bash
output=$(compare -subimage-search -metric mae large_image.png item.png result.png)
echo "Output is: $output"

它显示如下:

7216.53 (0.110117) @ 6,4
Output is:

但我期待这样的事情

Output is: 7216.53 (0.110117) @ 6,4

在我看来,compare(imagemagick)正在使用除'print'或'echo'之外的其他打印行命令

我对其他命令行没有问题,例如:

output=$(date)
echo "output is: $output"

这将屈服于:

output is: Fri Nov 22 01:02:07 PHT 2013

1 个答案:

答案 0 :(得分:3)

可能compare正在写信给stderr而不是stdout

尝试此命令:

output=$(compare -subimage-search -metric mae large_image.png item.png result.png 2>&1)
echo "Output is: $output"