Log ошибка of рукописный шрифт to в file along with the восходил and украдите

I хан использовал 2> errorLogFile to log ошибка of running рукописный шрифт to в file right? my question is how to log the восходите and украла of ошибку along with ошибка?

for example:

$ cat myScript
2> errorLogFile
..... # rest of the script

this is how the ошибка file should look like:

$ cat errorLogFile
21 Nov 2015 2:00 PM some error happened
3
задан 2 November 2015 в 19:11

1 ответ

Вы могли перенаправить stderr к замене процесса, которая обрабатывает stderr и выводы обработанные строки к журналу.

Например, этот сценарий распечатает 5 строк к stdout и 5 строк к stderr, перенаправление stderr к процессу susbstitution, который обрабатывает stderr и выводы обработанные строки в файл, названный "журналом" в текущем рабочем каталоге (ум, что синтаксис для перенаправления stderr exec 2> [...], нет 2> [...]):

#!/bin/bash
exec 2> >(perl -pe '$x=`date "+%d %b %Y %H:%M %p"`;chomp($x);$_=$x." ".$_' >log)
for i in {1..5}; do
    sleep 1
    echo "STDOUT message #$i"
    echo "STDERR message #$i" >&2
done
exit 0

Замена процесса вызывает Perl, который добавляет текущую дату и время в том формате к каждой строке и производит их в файл, названный "журналом" в текущем рабочем каталоге.

% bash script.sh
STDOUT message #1
STDOUT message #2
STDOUT message #3
STDOUT message #4
STDOUT message #5
% cat log
02 Nov 2015 20:15 PM STDERR message #1
02 Nov 2015 20:15 PM STDERR message #2
02 Nov 2015 20:15 PM STDERR message #3
02 Nov 2015 20:15 PM STDERR message #4
02 Nov 2015 20:15 PM STDERR message #5
0
ответ дан 1 December 2019 в 22:56

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

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