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>&1provavelmente 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