Esta pergunta já tem respostas aqui :
Comentários
- Gilles achou esta que parece ainda mais um dup: unix.stackexchange.com/questions/37660/order-of-redirections
Resposta
2
refere-se ao segundo descritor de arquivo do processo, ou seja, stderr
.
>
significa redirecionamento.
&1
significa que o destino do redirecionamento deve ser o mesmo local do primeiro arquivo descritor, ou seja, stdout
.
Portanto, > /dev/null 2>&1
primeiro redireciona stdout
para e redireciona stderr
para lá também. Isso silencia efetivamente todas as saídas (regulares ou de erro) do comando wget
.
:: edit :: Aqui é uma referência rápida excelente para você.
Comentários
- Obrigado. Quando executado em um cron job de hospedagem compartilhada que normalmente envia um e-mail com a saída para um administrador, o > / dev / null 2 > & 1 evitar que isso aconteça, você acha? Os espaços em torno de ' > ' são importantes?
- Sim , o truque de silenciamento completo é uma prática padrão para garantir que absolutamente nenhuma saída exista para acionar o e-mail de um cron job. (Observe, entretanto, que o provedor de hospedagem pode ter feito todo tipo de coisas estranhas ao seu ambiente cron para fazê-lo enviar algum tipo de e-mail independentemente de seus esforços.) :: editar :: E não, espaços ao redor do único
>
não importa, mas os espaços dentro de2>&1
provavelmente são importantes (eu posso ' lembrar) . - Também pode ser importante notar que a mesma semântica geralmente é alcançada com o idioma
&>/dev/null