shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Duvidas sobre redirecionamentos....


From: Flavio Torres
Subject: Re: Duvidas sobre redirecionamentos....
Date: Sat, 09 Sep 2006 04:32:00 -0000
User-agent: eGroups-EW/0.82

--- Em address@hidden, daniel <dregis@t...> escreveu
> Sei que /dev/null é um arquivo vazio do sistema. Mas não estou
> conseguindo INTERPRETAR a construção do comando acima.
> Se o comando "ping -c 1 IP" .... ???

Didaticamente:

O if testa (mentira pq quem testa é o test), e o ping vem  com o 
resultado (0 ou 1).

Entao: Se 0 faça, senão, faça.

> O sinal ">" funciona como um redirecionamento do STDOUT,né ? E porque
> redirecionar para o /dev/null ? 


Sim, o resultado vai ser direcionado para o buraco-negro.


>Dai existe um novo redirecionamento que
> também não entendo o que faz nem porque ele tá ali "2>&1".
> 
> Sei ue tem haver com STDERR. 

Exato, o resultado é direcionado para o buraco-negro, e se houver 
erros, estes serão direcionados também.

Veja o exemplo prático, com e sem o 2>&1.

Um teste com sucesso SEM STDERR retornaria:

$ if ping pop.bra.terra.com.br -c 1 > /dev/null; then echo ok; else 
echo nok;fi
ok


Um teste com um host inválido e SEM STDERR, teríamos:

$ if ping pop.bra.terra.com.b -c 1 > /dev/null; then echo ok; else echo 
nok;fi
ping: unknown host pop.bra.terra.com.b <<<<<
nok


Adicionando STDERR com host valido:

$ if ping pop.bra.terra.com.br -c 1 > /dev/null 2>&1; then echo ok; 
else echo nok;fi
ok

Adicionando STDERR com host inválido:

$ if ping pop.bra.terra.com.b -c 1 > /dev/null 2>&1; then echo ok; else 
echo nok;fi
nok


Viu só? Sem lixos.

Vá ao site julioneves.com, lá certamente você encontrará mais 
informações sobre STDERR e direcionamentos.

Abraços.









reply via email to

[Prev in Thread] Current Thread [Next in Thread]