![쉘 스크립트 출력이 파일에 올바르게 기록되지 않습니다.](https://linux55.com/image/53662/%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20%EC%B6%9C%EB%A0%A5%EC%9D%B4%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EC%98%AC%EB%B0%94%EB%A5%B4%EA%B2%8C%20%EA%B8%B0%EB%A1%9D%EB%90%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
프로그램의 출력을 텍스트 파일에 넣으려고 합니다. echo 명령을 파일에 올바르게 추가하지만 imagemagick "compare" 명령은 그렇지 않습니다. 단순히 비교방법을 통해 단말로 반환되는 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