Il 16/07/2010 11:50, Alessandro ha scritto:
Alessandro T. wrote:
ciao omonimo,
la prova l'ho fatta per mia futura memoria ;-)
$ cat errore.sh
#! /bin/bash
echo stdOUT
echo stdERR>&2
$ ./errore.sh
stdOUT
stdERR
$ ./errore.sh | sed 's/std/STD/'
stdERR
STDOUT
quindi effettivamente uno è lo standard out e l'altro lo standard err
e per rispondere alla tua domanda:
$ ./errore.sh 2>&1>/dev/null | sed 's/std/STD/'
STDERR
Evidentemente il>/dev/null "succhia" solamente lo stdOUT (del resto
prima del ">" ci dovrebbe essere un "1" sottinteso, nevvero?) lasciando
passare lo stdERR che poi finisce nel tubo...
Grazie.
Alessandro
Esatto, la shell fa le cose nell'ordine in cui le scrivi: "2>&1" sposta
stderr su qualunque cosa sia stdout *in quel momento*; ">/dev/null"
sposta lo stdout su /dev/null, ma stderr ormai ha il vecchio valore di
stdout.. è un po' come dire
"stdout=pipe; stderr=stdout; stdout=/dev/null"
--
Per REVOCARE l'iscrizione alla lista, inviare un email a
[email protected] con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a [email protected]
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]