[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/
Més informació sobre la llista de correu gilug