Вот подтверждение концепции, которое я действительно некоторое время поддерживал.
Это только работает в zsh.
# make standard error red
rederr()
{
while read -r line
do
setcolor $errorcolor
echo "$line"
setcolor normal
done
}
errorcolor=red
errfifo=${TMPDIR:-/tmp}/errfifo.$$
mkfifo $errfifo
# to silence the line telling us what job number the background job is
exec 2>/dev/null
rederr <$errfifo&
errpid=$!
disown %+
exec 2>$errfifo
Это также предполагает, что у Вас есть функция, вызванная setcolor.
Упрощенная версия:
setcolor()
{
case "$1" in
red)
tput setaf 1
;;
normal)
tput sgr0
;;
esac
}
С -q
опция, wget сама ничего не должна производить ни к одной консоли, ни файлу журнала, указанному -o
опция, за исключением случая описана Michał. Файл журнала однако будет создан (если -o
был предоставлен).
Это однако не гарантирует, что никакие системные демоны не заметят того, что wget был выполнен - сетевая активность может независимо контролироваться другими инструментами.
нет, --quiet
не гарантирует журналов.
от wget 1.13 ChangeLog:
22.04.2008 Steven Schubiger
* http.c (print_response_line): Changed to make responses always be logged, even in --quiet mode, if --server-response was specified. This is to bring http.c's handling of the situation in line with ftp.c's.