перенаправить вывод, добавить текст и добавить оба в текстовый файл

Я хотел бы записать вывод программы и метку времени в файл журнала. Все это произойдет во встроенной системе, и c-код моей программы не должен генерировать временные метки. Что бы я хотел иметь:

[cat /proc/uptime] [printf output from program]

Все это происходит в оболочке, так что все выходы программы регистрируются.

0
задан 22 November 2017 в 15:24

1 ответ

Предполагая, что вы скажете «да» моему комментарию, я создал простой код:

#!/bin/bash
while read Line
do
  echo "$(cat /proc/uptime): ${Line}"
done
#

Сохраните код в файле, например. wrapper и дать ему исполняемые биты chmod +x wrapper.
Теперь запустите его как: <program> | wrapper
или выведите в файл: <program> | wrapper > logfile
Пока ваша программа генерирует выходные данные, оболочка будет их ловить. Если программа остановится, обертка тоже.

1
ответ дан 22 November 2017 в 15:24
  • 1
    Экран-заставка обнаружится самостоятельно, но действительно уходит. Это происходит из-за него имеющий различный класс, чем виртуальная машина Matlab (основная программа). До не запуска, I' m не уверенный. Тем более, что Вы говорите, что это запускается в терминале (I' m принимающий использование той же команды matlab -desktop) – Garrett Foster 24 May 2012 в 23:45
  • 2
    Экран-заставка обнаружится самостоятельно, но действительно уходит. Это происходит из-за него имеющий различный класс, чем виртуальная машина Matlab (основная программа). До не запуска, I' m не уверенный. Тем более, что Вы говорите, что это запускается в терминале (I' m принимающий использование той же команды matlab -desktop) – Garrett Foster 24 May 2012 в 23:45
  • 3
    Экран-заставка обнаружится самостоятельно, но действительно уходит. Это происходит из-за него имеющий различный класс, чем виртуальная машина Matlab (основная программа). До не запуска, I' m не уверенный. Тем более, что Вы говорите, что это запускается в терминале (I' m принимающий использование той же команды matlab -desktop) – Garrett Foster 24 May 2012 в 23:45
  • 4
    Экран-заставка обнаружится самостоятельно, но действительно уходит. Это происходит из-за него имеющий различный класс, чем виртуальная машина Matlab (основная программа). До не запуска, I' m не уверенный. Тем более, что Вы говорите, что это запускается в терминале (I' m принимающий использование той же команды matlab -desktop) – Garrett Foster 24 May 2012 в 23:45
  • 5
    Экран-заставка обнаружится самостоятельно, но действительно уходит. Это происходит из-за него имеющий различный класс, чем виртуальная машина Matlab (основная программа). До не запуска, I' m не уверенный. Тем более, что Вы говорите, что это запускается в терминале (I' m принимающий использование той же команды matlab -desktop) – Garrett Foster 24 May 2012 в 23:45
  • 6
    Экран-заставка обнаружится самостоятельно, но действительно уходит. Это происходит из-за него имеющий различный класс, чем виртуальная машина Matlab (основная программа). До не запуска, I' m не уверенный. Тем более, что Вы говорите, что это запускается в терминале (I' m принимающий использование той же команды matlab -desktop) – Garrett Foster 24 May 2012 в 23:45

Другие вопросы по тегам:

Похожие вопросы: