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
Вы могли перенаправить 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