PDA

View Full Version : [bash] shello cosa significa questo


texerasmo
11-03-2008, 12:51
echo "ERRORE " 1>&2

mi potete spiegare quello in bold?

ilsensine
11-03-2008, 12:55
Reindirizza il descrittore 1 (stdout) sul 2 (stderr).
In soldoni, fa in modo che echo stampi su stderr.

texerasmo
11-03-2008, 13:49
Mica mi potresti gentilmente fare un esempio?

cos'č stderr?

ilsensine
11-03-2008, 14:07
Sono i "canali" con cui il programma stampa ("standard out" e "standard error"). stdout corrisponde al file desctiptor 1, stderr al 2 (stdin, l'input da console, al descrittore 0). Normalmente vengono stampati sulla console/terminale, ma puoi decidere di reindirizzare i messaggi normali da una parte e i messaggi di errore da un'altra (ad es. su due file di log separati).

Esempio: esegui da utente normale questo:
netstat -avntp
otterrai qualcosa tipo:

(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
(lista...)

Adesso esegui:
netstat -avntp 1>output.txt 2>errori.txt
...e confronta i due file con l'output precedente.

Per saperne di pių: Advanced Bash Programming, googlabile.

texerasmo
11-03-2008, 14:18
Perfetto
grazie