Вывод Shell Script не записывается в файл должным образом

Я попытался вывести вывод своей программы в текстовый файл. Он правильно добавляет команды эха к файлу, но команда 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 

2 Solutions collect form web for “Вывод Shell Script не записывается в файл должным образом”

Различные команды imagemagick выводят в STDERR вместо STDOUT .

Вы можете перенаправить STDERR на STDOUT чтобы захватить вывод:

 compare -metric PSNR .... >> psnrdiff.txt 2>&1 
 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 
  • Петля для snmpwalk в bash
  • Как проверить, существует ли несколько файлов?
  • Как создавать функции bash с использованием труб?
  • Сравнение столбцов в двух файлах и добавление первого файла
  • Условная проверка IP-таблиц
  • Существуют ли какие-либо правила «no newline at eof» для сценариев bash?
  • Bash: итерация с переменной на линии вывода `ls -1`
  • Как динамически использовать перенаправление вывода?
  • Перемещение по вложенным папкам с использованием сценария bash
  • Запустить команду sudoed после завершения скрипта?
  • Простая, если команда не работает в скрипте csh
  • Interesting Posts

    Переход от строки к массиву «слов» в Bash

    Оставьте каталог с помощью ls

    -fPIC Флаг в масштабе всей системы?

    nvidia-настройки без nvidia выделенного сервера X

    Переместить веб-каталог в Raid Array

    Как искать текст в файле, игнорируя новые строки?

    Как автоматически снимать конечные пробелы при сохранении в Vi и Vim?

    CentOS 6.4 как гостевая система VirtualBox под хостом Windows 8, полноэкранный режим вызывает невосприимчивый курсор

    Как убить приложение, которое захватывает ввод с клавиатуры для уничтожения приложения?

    Создайте структуру ARGB для заголовка C из PNG

    Полностью показать все файлы в каталоге – но с некоторым интервалом между ними

    Как искать пакеты, которые больше не доступны для установки?

    изменение идентификатора владельца UID для 10 пользователей в каталоге 10 + TB

    Как безопасно использовать вывод grep в скрипте?

    перечислить все символические ссылки на действительные каталоги только с помощью find

    Linux и Unix - лучшая ОС в мире.