[gilug.org] STDERR i STDOUT a un fitxer

Narcis Garcia - GiLUG informatica actiu net
2009-12-15 14:47:38 UTC


Al final, la sintaxi que ha servit als meus propòsits és aquesta:

comanda >& fitxer

El què volia acabar fent és mostrar la sortida únicament si la comanda
retorna un número d'error.

Gracies.

-----Missatge original-----
De: Lluís Batlle i Rossell <>
Reply-to: 
Per a: 
Assumpte: Re: [gilug.org] STDERR i STDOUT a un fitxer
Data: Tue, 15 Dec 2009 14:46:12 +0100

Mira't el manual de la bash, o de la shell que facis anar.

De tota manera:
comanda >& fitxer   (out i err al fitxer)
És equivalent a:
comanda > fitxer 2>&1
(equival, més o menys a: fork(); fd=open(file); dup(fd, 1); dup(1,2); 
exec())
Si no t'imagines els 'dup()', sembla una mica il·lògic l'ordre de "> 
fitxer 2>&1", no? :)

Apa!

Narcis Garcia - GiLUG wrote:
> En Quim Rovira em va ensenyar a unir la sortida d'error a la normal:
> comanda 2>&1
> 
> invisibilitzar els missatges d'error:
> comanda 2>/dev/null
> 
> i ara he trobat una manera de dirigir el primer a un fitxer:
> echo "$(comanda 2>&1)" >fitxer
> 
> ...però em trobo amb el problema de què no puc recuperar el resultat
> d'èxit/error de la comanda ($?) després de fer-ho així.
> Algú sap una sintaxi que permeti obtenir l'error, per a fer un programet
> així?
> 
> echo "$(sudo apt-get install qwerty 2>&1)" >/tmp/install.tmp
> Resultat=$?
> if [ $Resultat -ne 0 ] ; then cat /tmp/install.tmp ; fi
> rm /tmp/install.tmp
> 
> 
> Gracies.
> 
> 
> _______________________________________________
> Llista del GiLUG
> 
> http://gilug.org/cgi-bin/mailman/listinfo/llista
> * Tots els missatges queden publicats a:
> http://gilug.org/pipermail/llista/
> 
> 
> 


_______________________________________________
Llista del GiLUG

http://gilug.org/cgi-bin/mailman/listinfo/llista
* Tots els missatges queden publicats a:
http://gilug.org/pipermail/llista/




More information about the gilug mailing list