Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Ordem de execução

Ficou uma dúvida quanto a saída de erro:

Quando temos

cd diretorio_nao_existe  > arquivo.txt 2>&1

O primeiro comando que é interpretado pelo shell é o canal de saída 2 para a saída 1? 2>&1

Assim sendo, fica mais ou menos assim

1 - Saída de erro (canal 2) é redirecionado para o canal 1 (saída padrão)

2 - arquivo.txt é criado

3 - Comando cd diretorio_nao_existe é executado.

A interpretação dos comandos é sempre do final da linha para o ínicio da linha?

1 resposta
solução!

Opa fala aí Diego blz?

Então a interpretação é feita da esquerda para direita, no vídeo até e mostrado um outro exemplo onde é invertido a ordem entre o redirecionamento da saída de erro e a saída padrão.

Por exemplo:

cd diretorio_nao_existe 2>&1 > arquivo.txt

A saída de erro do comando cd será impressa no console/terminal e não será redirecionada para o arquivo.

Já nesse caso:

cd diretorio_nao_existe  > arquivo.txt 2>&1

A saída padrão está sendo redirecionado para o arquivo, e a saída de erro está sendo redirecionada para a saída padrão. Nesse caso não será impresso nada no console/terminal pois foi feito o redirecionamento para o arquivo antes do redirecionamento da saída de erro.

Espero ter ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software