Redirigir solo el error del command git a un file de logging

Estoy escribiendo un script que usa git fetch --all && git fetch --all --tags para search todas las twigs y tags de todos los controles remotos.

Lo que quiero hacer es ignorar / no mostrar la salida de búsqueda, pero si la búsqueda falla, entonces haga algo (como escribir un post de error en un file de logging y enviarlo por correo). ¿Cómo puedo ignorar el resultado normal pero escribir solo el error en el file de logging si el command falla?

Sistema operativo: CentOS 6.5

git: 2.1.0-rc1

¡Gracias!

Actualización-1

git-fetch escribe en stderr incluso en una búsqueda exitosa. Entonces si lo hago

git fetch aj 1>success 2>errlog , incluso en la recuperación exitosa lo obtengo en el file de error:

Desde xx.xx.xx.xx: user.name/repo

  • [nueva twig] para / lib.base / core -> aj / for / lib.base / core

  • [nueva twig] para / master / lib.base_core -> aj / for / master / lib.base_core

  • [nueva twig] para / master / memmgr -> aj / for / master / memmgr

Puede usar el descriptor stderr 2 Unix para capturar el error en un file:

 git fetch --all && git fetch --all --tags 1>/dev/null 2>error.log 

1>/dev/null son las salidas stdout normales, mientras que 2>error.log registra los errores en el file error.log .

    Intereting Posts