我尝试将程序的输出放入文本文件中。它将 echo 命令正确附加到文件,但 imagemagick“比较”命令未附加到文件。它只是 STOUD 的“PSNR 值”,通过比较方法返回到终端。
有没有办法将此命令输出也附加到文本文件中?另外,如果我仅使用“./script.sh > test.txt”调用我的脚本,它除了将回显打印到文件并将结果与终端进行比较之外,不会打印任何内容。
这是我的代码的一部分:
ls images/toconvert/ > lsout.txt
while read LINE
do
echo ====================== $LINE ==================== >> psnrdiff.txt
echo Jpeg2000 >> psnrdiff.txt
compare -metric PSNR images/toconvert/$LINE images/converted/$LINE.jp2 images/psnrDiffs/$LINE.jp2.png >> psnrdiff.txt
done < lsout.txt
答案1
各种imagemagick
命令输出STDERR
代替STDOUT
.
您可以重定向STDERR
到STDOUT
捕获输出:
compare -metric PSNR .... >> psnrdiff.txt 2>&1
答案2
ls images/toconvert/ > file.txt
while read LINE
do
echo ====================== $LINE ==================== >> psnrdiff.txt
echo Jpeg2000 >> psnrdiff.txt
compare -metric PSNR "images/toconvert/$LINE" "images/converted/$LINE.jp2" "images/psnrDiffs/$LINE.jp2.png" >> psnrdiff.txt
done < file.txt