Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.user.catalan > #3831 > unrolled thread
| Started by | Narcis Garcia <informatica@actiu.net> |
|---|---|
| First post | 2015-10-10 13:10 +0200 |
| Last post | 2015-10-10 14:10 +0200 |
| Articles | 16 — 6 participants |
Back to article view | Back to linux.debian.user.catalan
[deb-cat] logsave mes net Narcis Garcia <informatica@actiu.net> - 2015-10-10 13:10 +0200
Re: [deb-cat] logsave mes net Roger Sicart <roger.sicart@gmail.com> - 2015-10-10 13:20 +0200
Re: [deb-cat] logsave mes net Ernest Adrogué <nfdisco@gmail.com> - 2015-10-10 13:40 +0200
Re: [deb-cat] logsave mes net Narcis Garcia <informatica@actiu.net> - 2015-10-10 13:40 +0200
Re: [deb-cat] logsave mes net Roger Sicart <roger.sicart@gmail.com> - 2015-10-10 14:00 +0200
Re: [deb-cat] logsave mes net Narcis Garcia <informatica@actiu.net> - 2015-10-10 14:30 +0200
Re: [deb-cat] logsave mes net Jordi Funollet <funollet@fastmail.fm> - 2015-10-10 19:30 +0200
Re: [deb-cat] logsave mes net tictacbum <tictacbum@gmail.com> - 2015-10-11 19:30 +0200
Re: [deb-cat] logsave mes net Narcis Garcia <informatica@actiu.net> - 2015-10-12 09:40 +0200
Re: [deb-cat] logsave mes net Narcis Garcia <informatica@actiu.net> - 2015-10-17 11:10 +0200
Re: [deb-cat] logsave mes net Simó Albert i Beltran <sim6@probeta.net> - 2015-10-17 11:50 +0200
Re: [deb-cat] logsave mes net Narcis Garcia <informatica@actiu.net> - 2015-10-17 12:20 +0200
Re: [deb-cat] logsave mes net Roger Sicart <roger.sicart@gmail.com> - 2015-10-17 14:20 +0200
Re: [deb-cat] logsave mes net Narcis Garcia <informatica@actiu.net> - 2015-10-17 15:40 +0200
Re: [deb-cat] logsave mes net Ernest Adrogué <nfdisco@gmail.com> - 2015-10-17 14:00 +0200
Re: [deb-cat] logsave mes net Narcis Garcia <informatica@actiu.net> - 2015-10-10 14:10 +0200
| From | Narcis Garcia <informatica@actiu.net> |
|---|---|
| Date | 2015-10-10 13:10 +0200 |
| Subject | [deb-cat] logsave mes net |
| Message-ID | <qi0ch-7ug-1@gated-at.bofh.it> |
Hola, fins ara, als meus programets fets en ShellScript, quan volia enregistrar per bitàcola la sortida d'una comanda ho feia amb la utilitat «tee»: comanda 2>&1 | tee -a bitacola.log Ara he trobat l'eina «logsave» que facilita la interacció: logsave -as bitacola.log comanda Però resulta que a la bitàcola afegeix unes anotacions que ningú no li demana: Log of comanda Sat Oct 10 12:32:29 2015 (...) Sat Oct 10 12:32:35 2015 ---------------- En comptes d'haver de tractar i escapçar cada vegada la bitàcola, voldria saber si algú ha trobat una sintaxi de logsave per evitar això, és a dir, que només enregistri allò que dóna la comanda executada. O bé si hi ha alguna altra eina millor per GNU. Gràcies.
[toc] | [next] | [standalone]
| From | Roger Sicart <roger.sicart@gmail.com> |
|---|---|
| Date | 2015-10-10 13:20 +0200 |
| Message-ID | <qi0lX-7FC-1@gated-at.bofh.it> |
| In reply to | #3831 |
[Multipart message — attachments visible in raw view] — view raw
Bones, Jo provaria de redirigir stderr a /dev/null per veure si el comportament es el mateix: logsave -as bitacola.log comanda 2>/dev/null Salut! El dia 10/10/2015 13:06, "Narcis Garcia" <informatica@actiu.net> va escriure: > Hola, fins ara, als meus programets fets en ShellScript, quan volia > enregistrar per bitàcola la sortida d'una comanda ho feia amb la > utilitat «tee»: > > comanda 2>&1 | tee -a bitacola.log > > Ara he trobat l'eina «logsave» que facilita la interacció: > > logsave -as bitacola.log comanda > > Però resulta que a la bitàcola afegeix unes anotacions que ningú no li > demana: > > Log of comanda > Sat Oct 10 12:32:29 2015 > (...) > Sat Oct 10 12:32:35 2015 > ---------------- > > En comptes d'haver de tractar i escapçar cada vegada la bitàcola, > voldria saber si algú ha trobat una sintaxi de logsave per evitar això, > és a dir, que només enregistri allò que dóna la comanda executada. > O bé si hi ha alguna altra eina millor per GNU. > > Gràcies. > >
[toc] | [prev] | [next] | [standalone]
| From | Ernest Adrogué <nfdisco@gmail.com> |
|---|---|
| Date | 2015-10-10 13:40 +0200 |
| Message-ID | <qi0Fj-82a-1@gated-at.bofh.it> |
| In reply to | #3831 |
2015-10-10, 12:48 (+0200); Narcis Garcia escriu:
> Hola, fins ara, als meus programets fets en ShellScript, quan volia
> enregistrar per bitàcola la sortida d'una comanda ho feia amb la
> utilitat «tee»:
>
> comanda 2>&1 | tee -a bitacola.log
>
> Ara he trobat l'eina «logsave» que facilita la interacció:
>
> logsave -as bitacola.log comanda
Quin avantatge té? Si només és la sintaxi pots definir una funció com ara
log () {
out="$1"
shift
"$@" 2>&1 | tee -a "$out"
}
log <fitxer> <ordre>
[toc] | [prev] | [next] | [standalone]
| From | Narcis Garcia <informatica@actiu.net> |
|---|---|
| Date | 2015-10-10 13:40 +0200 |
| Message-ID | <qi0Fk-82a-7@gated-at.bofh.it> |
| In reply to | #3831 |
El comportament és el mateix. Gràcies. El 10/10/15 a les 13:19, Roger Sicart ha escrit: > Bones, > > Jo provaria de redirigir stderr a /dev/null per veure si el comportament > es el mateix: > > logsave -as bitacola.log comanda 2>/dev/null > > Salut! > > El dia 10/10/2015 13:06, "Narcis Garcia" <informatica@actiu.net > <mailto:informatica@actiu.net>> va escriure: > > Hola, fins ara, als meus programets fets en ShellScript, quan volia > enregistrar per bitàcola la sortida d'una comanda ho feia amb la > utilitat «tee»: > > comanda 2>&1 | tee -a bitacola.log > > Ara he trobat l'eina «logsave» que facilita la interacció: > > logsave -as bitacola.log comanda > > Però resulta que a la bitàcola afegeix unes anotacions que ningú no li > demana: > > Log of comanda > Sat Oct 10 12:32:29 2015 > (...) > Sat Oct 10 12:32:35 2015 > ---------------- > > En comptes d'haver de tractar i escapçar cada vegada la bitàcola, > voldria saber si algú ha trobat una sintaxi de logsave per evitar això, > és a dir, que només enregistri allò que dóna la comanda executada. > O bé si hi ha alguna altra eina millor per GNU. > > Gràcies. >
[toc] | [prev] | [next] | [standalone]
| From | Roger Sicart <roger.sicart@gmail.com> |
|---|---|
| Date | 2015-10-10 14:00 +0200 |
| Message-ID | <qi0YH-8pA-21@gated-at.bofh.it> |
| In reply to | #3834 |
[Multipart message — attachments visible in raw view] — view raw
Bones, Al codi font del programa original s'escriu la data a l'inici i al final dels logs de la comanda, com tu mostra es al teu email. El programa està fet en C i es bastant senzill, podries descarregar-lo, esborrar les 4 línies que sobren i recompilarlo, tot i que no se si val la pena... Apa! On Saturday, 10 October 2015, Narcis Garcia <informatica@actiu.net> wrote: > El comportament és el mateix. > > Gràcies. > > > El 10/10/15 a les 13:19, Roger Sicart ha escrit: > > Bones, > > > > Jo provaria de redirigir stderr a /dev/null per veure si el comportament > > es el mateix: > > > > logsave -as bitacola.log comanda 2>/dev/null > > > > Salut! > > > > El dia 10/10/2015 13:06, "Narcis Garcia" <informatica@actiu.net > <javascript:;> > > <mailto:informatica@actiu.net <javascript:;>>> va escriure: > > > > Hola, fins ara, als meus programets fets en ShellScript, quan volia > > enregistrar per bitàcola la sortida d'una comanda ho feia amb la > > utilitat «tee»: > > > > comanda 2>&1 | tee -a bitacola.log > > > > Ara he trobat l'eina «logsave» que facilita la interacció: > > > > logsave -as bitacola.log comanda > > > > Però resulta que a la bitàcola afegeix unes anotacions que ningú no > li > > demana: > > > > Log of comanda > > Sat Oct 10 12:32:29 2015 > > (...) > > Sat Oct 10 12:32:35 2015 > > ---------------- > > > > En comptes d'haver de tractar i escapçar cada vegada la bitàcola, > > voldria saber si algú ha trobat una sintaxi de logsave per evitar > això, > > és a dir, que només enregistri allò que dóna la comanda executada. > > O bé si hi ha alguna altra eina millor per GNU. > > > > Gràcies. > > > > -- -- R. Sicart
[toc] | [prev] | [next] | [standalone]
| From | Narcis Garcia <informatica@actiu.net> |
|---|---|
| Date | 2015-10-10 14:30 +0200 |
| Message-ID | <qi1rI-Lp-27@gated-at.bofh.it> |
| In reply to | #3834 |
No em val la pena recompilar, perquè el programet meu el faig servir en ordinadors recent instal·lats i utilitzant únicament els executables dels ordinadors nets (en diferents arquitectures); www.actiu.net/peinddd Estic optant per processar la bitàcola «bruta» apart, i annexar-la després a la bitàcola de destinació. El 10/10/15 a les 13:59, Roger Sicart ha escrit: > Bones, > > Al codi font del programa original s'escriu la data a l'inici i al final > dels logs de la comanda, com tu mostra es al teu email. > > El programa està fet en C i es bastant senzill, podries descarregar-lo, > esborrar les 4 línies que sobren i recompilarlo, tot i que no se si val > la pena... > > Apa! > > > On Saturday, 10 October 2015, Narcis Garcia <informatica@actiu.net > <mailto:informatica@actiu.net>> wrote: > > El comportament és el mateix. > > Gràcies. > > > El 10/10/15 a les 13:19, Roger Sicart ha escrit: > > Bones, > > > > Jo provaria de redirigir stderr a /dev/null per veure si el > comportament > > es el mateix: > > > > logsave -as bitacola.log comanda 2>/dev/null > > > > Salut! > > > > El dia 10/10/2015 13:06, "Narcis Garcia" <informatica@actiu.net > <javascript:;> > > <mailto:informatica@actiu.net <javascript:;>>> va escriure: > > > > Hola, fins ara, als meus programets fets en ShellScript, quan > volia > > enregistrar per bitàcola la sortida d'una comanda ho feia amb la > > utilitat «tee»: > > > > comanda 2>&1 | tee -a bitacola.log > > > > Ara he trobat l'eina «logsave» que facilita la interacció: > > > > logsave -as bitacola.log comanda > > > > Però resulta que a la bitàcola afegeix unes anotacions que > ningú no li > > demana: > > > > Log of comanda > > Sat Oct 10 12:32:29 2015 > > (...) > > Sat Oct 10 12:32:35 2015 > > ---------------- > > > > En comptes d'haver de tractar i escapçar cada vegada la bitàcola, > > voldria saber si algú ha trobat una sintaxi de logsave per > evitar això, > > és a dir, que només enregistri allò que dóna la comanda executada. > > O bé si hi ha alguna altra eina millor per GNU. > > > > Gràcies. > > > > > > -- > -- > > R. Sicart >
[toc] | [prev] | [next] | [standalone]
| From | Jordi Funollet <funollet@fastmail.fm> |
|---|---|
| Date | 2015-10-10 19:30 +0200 |
| Message-ID | <qi683-7Bm-27@gated-at.bofh.it> |
| In reply to | #3837 |
Potser et serveix el programa 'script' . -- Jordi Funollet Pujol http://www.linkedin.com/in/jordifunollet
[toc] | [prev] | [next] | [standalone]
| From | tictacbum <tictacbum@gmail.com> |
|---|---|
| Date | 2015-10-11 19:30 +0200 |
| Message-ID | <qisBA-6Ef-11@gated-at.bofh.it> |
| In reply to | #3838 |
[Multipart message — attachments visible in raw view] — view raw
mira't també "logger" 2015-10-10 19:07 GMT+02:00 Jordi Funollet <funollet@fastmail.fm>: > Potser et serveix el programa 'script' . > > -- > Jordi Funollet Pujol > http://www.linkedin.com/in/jordifunollet > >
[toc] | [prev] | [next] | [standalone]
| From | Narcis Garcia <informatica@actiu.net> |
|---|---|
| Date | 2015-10-12 09:40 +0200 |
| Message-ID | <qiFSa-Bb-15@gated-at.bofh.it> |
| In reply to | #3837 |
Gràcies; el «script» és molt interessant per «gravar» de fons tant execucions com sessions interactives d'usuari. De tota manera, tot i que ofereix el paràmetre --quiet, també enregistra capçaleres seves. Com que ja he implementat el logsave, segueixo amb aquest. El què jo faig és, en un procés molt llarg, que un programet principal va fent crides a N processos secundaris. Per terminal el programet principal va informant de la tasca que està fent (sense més detalls) i el percentatge que porta. En canvi la sortida dels processos secundaris s'oculta quan tot va bé i s'enregistra a diverses bitàcoles (.log) quan han resultat en error. Tot això és pel programa Peinddd. El 10/10/15 a les 19:07, Jordi Funollet ha escrit: > Potser et serveix el programa 'script' . >
[toc] | [prev] | [next] | [standalone]
| From | Narcis Garcia <informatica@actiu.net> |
|---|---|
| Date | 2015-10-17 11:10 +0200 |
| Message-ID | <qkvEZ-11B-5@gated-at.bofh.it> |
| In reply to | #3837 |
Uff, he estat utilitzant el logsave però, és clar, aquestes utilitats externes no són útils a l'hora de cridar funcions del mateix ShellScript. En aquests casos faig servir: eval Funció | tee -a bitacola.log El problema és que quan hi ha canalitzacions (|) només arriba el resultat de sortida (exit code) de la última comanda (en aquest cas tee) i no m'entero de si la funció ha resultat en algun error. Ara estic intentant que cada funció exporti una variable amb el resultat de sortida, tot i que serà un embolic amb crides concurrents. El 12/10/15 a les 09:23, Narcis Garcia ha escrit: > Gràcies; el «script» és molt interessant per «gravar» de fons tant > execucions com sessions interactives d'usuari. > De tota manera, tot i que ofereix el paràmetre --quiet, també enregistra > capçaleres seves. > > Com que ja he implementat el logsave, segueixo amb aquest. > El què jo faig és, en un procés molt llarg, que un programet principal > va fent crides a N processos secundaris. Per terminal el programet > principal va informant de la tasca que està fent (sense més detalls) i > el percentatge que porta. En canvi la sortida dels processos secundaris > s'oculta quan tot va bé i s'enregistra a diverses bitàcoles (.log) quan > han resultat en error. > > Tot això és pel programa Peinddd. > > > El 10/10/15 a les 19:07, Jordi Funollet ha escrit: >> Potser et serveix el programa 'script' . >> >
[toc] | [prev] | [next] | [standalone]
| From | Simó Albert i Beltran <sim6@probeta.net> |
|---|---|
| Date | 2015-10-17 11:50 +0200 |
| Message-ID | <qkwhJ-1Ly-23@gated-at.bofh.it> |
| In reply to | #3846 |
[Multipart message — attachments visible in raw view] — view raw
Si poguéssim veure el codi del que estas fent podríem opinar amb
propietat.
Respecte el codi de retorn i la canalització a bash:
false | true
echo ${PIPESTATUS[0]} ${PIPESTATUS[1]}
o bé:
set -o pipefail
false | true || echo ko
Respecte fer una bitàcola (es diu així?), jo acostumo a usar el logger
que ja s'ha comentat pots veure'n un exemple a:
https://gitlab.com/dtv3/dtv3/blob/master/dtv3#L145
[toc] | [prev] | [next] | [standalone]
| From | Narcis Garcia <informatica@actiu.net> |
|---|---|
| Date | 2015-10-17 12:20 +0200 |
| Message-ID | <qkwKJ-2FY-7@gated-at.bofh.it> |
| In reply to | #3846 |
Em sembla que les matrius com PIPESTATUS només són suportades per Bash,
i no per altres intèrprets de ShellScript. Intento fer programets el més
portables possibles.
Un exemple de programet per qual recollir el codi de sortida:
#!/bin/sh
LaFuncio ()
{
ls /inexistent
Resultat=$?
return $Resultat
}
LaFuncio 2>&1 | tee -a /var/log/labitacola.log
Resultat=$?
if [ $Resultat -ne 0 ] ; then echo "Problema" ; fi
exit $Resultat
El 17/10/15 a les 11:41, Simó Albert i Beltran ha escrit:
> Si poguéssim veure el codi del que estas fent podríem opinar amb
> propietat.
>
> Respecte el codi de retorn i la canalització a bash:
>
> false | true
> echo ${PIPESTATUS[0]} ${PIPESTATUS[1]}
>
> o bé:
>
> set -o pipefail
> false | true || echo ko
>
>
> Respecte fer una bitàcola (es diu així?), jo acostumo a usar el logger
> que ja s'ha comentat pots veure'n un exemple a:
> https://gitlab.com/dtv3/dtv3/blob/master/dtv3#L145
>
[toc] | [prev] | [next] | [standalone]
| From | Roger Sicart <roger.sicart@gmail.com> |
|---|---|
| Date | 2015-10-17 14:20 +0200 |
| Message-ID | <qkyCS-5u3-31@gated-at.bofh.it> |
| In reply to | #3848 |
[Multipart message — attachments visible in raw view] — view raw
Bones,
Jo per capturar la sortida i el codi de retorn de la comanda normalment
utilitzo variables i subshells.
Si no m'equivoco ni en shell ni en bash hi ha la paraula clau "return", per
això es fa un "echo" o es captura el codi de retorn en funció de les teves
necessitats, perquè et podria interessar més formatejar la sortida del
subshell (per exemple, amb sed o awk) abans d'enviar-la cap al fitxer de
log:
#!/bin/sh
LaFuncio ()
{
ls /inexistent
Resultat=$?
echo $Resultat
}
sortida=$(LaFuncio 2>&1)
Resultat=$?
# aquí pots treballar la sortida, per exemple
echo $sortida | sed -e 's/ /\t/g' | tee -a /var/log/labitacola.log
if [ "$Resultat" != "0" ] ; then echo "Problema" ; fi
exit $Resultat
Salut, bon dissabte.
On Saturday, 17 October 2015, Narcis Garcia <informatica@actiu.net> wrote:
> Em sembla que les matrius com PIPESTATUS només són suportades per Bash,
> i no per altres intèrprets de ShellScript. Intento fer programets el més
> portables possibles.
>
> Un exemple de programet per qual recollir el codi de sortida:
>
> #!/bin/sh
> LaFuncio ()
> {
> ls /inexistent
> Resultat=$?
> return $Resultat
> }
> LaFuncio 2>&1 | tee -a /var/log/labitacola.log
> Resultat=$?
> if [ $Resultat -ne 0 ] ; then echo "Problema" ; fi
> exit $Resultat
>
>
> El 17/10/15 a les 11:41, Simó Albert i Beltran ha escrit:
> > Si poguéssim veure el codi del que estas fent podríem opinar amb
> > propietat.
> >
> > Respecte el codi de retorn i la canalització a bash:
> >
> > false | true
> > echo ${PIPESTATUS[0]} ${PIPESTATUS[1]}
> >
> > o bé:
> >
> > set -o pipefail
> > false | true || echo ko
> >
> >
> > Respecte fer una bitàcola (es diu així?), jo acostumo a usar el logger
> > que ja s'ha comentat pots veure'n un exemple a:
> > https://gitlab.com/dtv3/dtv3/blob/master/dtv3#L145
> >
>
>
--
--
R. Sicart
[toc] | [prev] | [next] | [standalone]
| From | Narcis Garcia <informatica@actiu.net> |
|---|---|
| Date | 2015-10-17 15:40 +0200 |
| Message-ID | <qkzSh-7in-15@gated-at.bofh.it> |
| In reply to | #3848 |
La cosa està en què la funció produeix molta informació textual (tant
stdout com stderr) per desar en una bitàcola, que és per això que es fa
servir el "tee". Sinó, seria ben senzill emetre només el numeret de sortida.
return sempre ha funcionat a les funcions.
Provisionalment, estic utilitzant un fitxer normal i corrent, només per
aquests casos:
#!/bin/sh
LaFuncio ()
{
ls /inexistent
Resultat=$?
echo $Resultat > /tmp/LaFuncio.resultat.num
return $Resultat
}
LaFuncio 2>&1 | tee -a /var/log/labitacola.log
Resultat=$(cat /tmp/LaFuncio.resultat.num)
rm /tmp/LaFuncio.resultat.num
if [ $Resultat -ne 0 ] ; then echo "Problema" ; fi
exit $Resultat
El 17/10/15 a les 14:09, Roger Sicart ha escrit:
>
> Bones,
>
> Jo per capturar la sortida i el codi de retorn de la comanda normalment
> utilitzo variables i subshells.
> Si no m'equivoco ni en shell ni en bash hi ha la paraula clau "return",
> per això es fa un "echo" o es captura el codi de retorn en funció de les
> teves necessitats, perquè et podria interessar més formatejar la sortida
> del subshell (per exemple, amb sed o awk) abans d'enviar-la cap al
> fitxer de log:
>
> #!/bin/sh
> LaFuncio ()
> {
> ls /inexistent
> Resultat=$?
> echo $Resultat
> }
> sortida=$(LaFuncio 2>&1)
> Resultat=$?
> # aquí pots treballar la sortida, per exemple
> echo $sortida | sed -e 's/ /\t/g' | tee -a /var/log/labitacola.log
> if [ "$Resultat" != "0" ] ; then echo "Problema" ; fi
> exit $Resultat
>
>
> Salut, bon dissabte.
>
>
> On Saturday, 17 October 2015, Narcis Garcia <informatica@actiu.net
> <mailto:informatica@actiu.net>> wrote:
>
> Em sembla que les matrius com PIPESTATUS només són suportades per Bash,
> i no per altres intèrprets de ShellScript. Intento fer programets el més
> portables possibles.
>
> Un exemple de programet per qual recollir el codi de sortida:
>
> #!/bin/sh
> LaFuncio ()
> {
> ls /inexistent
> Resultat=$?
> return $Resultat
> }
> LaFuncio 2>&1 | tee -a /var/log/labitacola.log
> Resultat=$?
> if [ $Resultat -ne 0 ] ; then echo "Problema" ; fi
> exit $Resultat
>
>
> El 17/10/15 a les 11:41, Simó Albert i Beltran ha escrit:
> > Si poguéssim veure el codi del que estas fent podríem opinar amb
> > propietat.
> >
> > Respecte el codi de retorn i la canalització a bash:
> >
> > false | true
> > echo ${PIPESTATUS[0]} ${PIPESTATUS[1]}
> >
> > o bé:
> >
> > set -o pipefail
> > false | true || echo ko
> >
> >
> > Respecte fer una bitàcola (es diu així?), jo acostumo a usar el logger
> > que ja s'ha comentat pots veure'n un exemple a:
> > https://gitlab.com/dtv3/dtv3/blob/master/dtv3#L145
> >
>
>
>
> --
> --
>
> R. Sicart
>
[toc] | [prev] | [next] | [standalone]
| From | Ernest Adrogué <nfdisco@gmail.com> |
|---|---|
| Date | 2015-10-17 14:00 +0200 |
| Message-ID | <qkyjw-4Rb-3@gated-at.bofh.it> |
| In reply to | #3846 |
2015-10-17, 10:45 (+0200); Narcis Garcia escriu: > El problema és que quan hi ha canalitzacions (|) només arriba el > resultat de sortida (exit code) de la última comanda (en aquest cas tee) > i no m'entero de si la funció ha resultat en algun error. Pots utilitzar un fitxer fifo en lloc de la canalització; per exemple #!/bin/sh fifo="$(mktemp -u)" || exit trap "rm -f '$fifo'" 0 trap "exit 2" 1 2 3 15 mkfifo "$fifo" || exit tee -a ./log <"$fifo" & echo 1 echo 2 > "$fifo" echo 3 > "$fifo" echo 4 echo 5 > "$fifo" si mires al fitxer ./log conté 2 3 5 que és correcte, en canvi a la sortida estàndard em surt desordenat 1 4 2 3 5 Si algú sap com resoldre aquest detall podria ser una solució.
[toc] | [prev] | [next] | [standalone]
| From | Narcis Garcia <informatica@actiu.net> |
|---|---|
| Date | 2015-10-10 14:10 +0200 |
| Message-ID | <qi18l-oy-1@gated-at.bofh.it> |
| In reply to | #3831 |
logsave també permet estalviar alguna anomalia de text amb caràcters
especials, com quan hi ha controls de progrés %.
El 10/10/15 a les 13:19, Ernest Adrogué ha escrit:
> 2015-10-10, 12:48 (+0200); Narcis Garcia escriu:
>> Hola, fins ara, als meus programets fets en ShellScript, quan volia
>> enregistrar per bitàcola la sortida d'una comanda ho feia amb la
>> utilitat «tee»:
>>
>> comanda 2>&1 | tee -a bitacola.log
>>
>> Ara he trobat l'eina «logsave» que facilita la interacció:
>>
>> logsave -as bitacola.log comanda
>
> Quin avantatge té? Si només és la sintaxi pots definir una funció com ara
>
> log () {
> out="$1"
> shift
> "$@" 2>&1 | tee -a "$out"
> }
>
> log <fitxer> <ordre>
>
[toc] | [prev] | [standalone]
Back to top | Article view | linux.debian.user.catalan
csiph-web