[gilug.org] STDERR i STDOUT a un fitxer

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


Veig que la única que em funciona de totes maneres és aquesta:

comanda1 > fitxer 2>&1
comanda2 >> fitxer 2>&1

Perquè aquesta no:
comanda2 &>> fitxer
bash: syntax error near unexpected token `>'


-----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 16:13:31 +0100

comanda &>> fitxer

 >& i &> tenia entès que eren equivalents, i en algun lloc del manual 
marquen la preferència per un d'ells. Deu ser &>.

A part, sempre tens >> fitxer 2>&1.

Narcis Garcia - GiLUG wrote:
> Ostres, si ho vull fer amb vàries instruccions en un sol fitxer no m'ho
> admet:
> 
> comanda1 >& fitxer
> comanda2 >>& fitxer
> 
> bash: syntax error near unexpected token `&'
> 
> -----Missatge original-----
> De: Narcis Garcia - GiLUG <>
> Reply-to: 
> Per a: 
> Assumpte: Re: [gilug.org] STDERR i STDOUT a un fitxer
> Data: Tue, 15 Dec 2009 15:47:38 +0100
> 
> 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/
> 
> _______________________________________________
> 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/
> 
> 
> 


_______________________________________________
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