Compreendendo 2> & 1 em Bash a Guia do Iniciante

Compreendendo 2> & 1 em Bash a Guia do Iniciante

Bash é uma concha popular usada na maioria das distribuições Linux. Ele fornece várias técnicas de redirecionamento de E/S que permitem aos usuários controlar como a entrada e a saída são processadas em seus comandos e scripts. Uma das técnicas de redirecionamento de E/S mais usadas é 2> & 1, que redireciona o erro padrão (STDERR) para saída padrão (stdout).

Neste artigo, forneceremos um guia para iniciantes para entender 2> & 1 em Bash.

O que é 2> & 1?

2> & 1 é um operador de redirecionamento de E/S usado em Bash que redireciona o fluxo Stderr para o mesmo destino que o Stdout Stream. Em outras palavras, ele mescla a saída de erro com a saída regular, facilitando a captura e manuseio de erros.

A sintaxe para usar 2> & 1 é o seguinte:

comando 2> & 1
1comando 2> & 1

Nesta sintaxe, 'comando' é o comando que está sendo executado e '2> & 1' é o operador de redirecionamento de E/S que redireciona Stderr para stdout.

Por que usar 2> & 1?

Usando 2> & 1 é útil para capturar e lidar com erros em scripts bash. Ao redirecionar o stderr para o stdout, você pode capturar a saída regular e a saída de erro em um único fluxo, o que facilita a análise e manuseio de erros. Isso pode ser especialmente útil em scripts que exigem tratamento de erros, onde você precisa saber se um comando executou com sucesso ou encontrou um erro.

Exemplo de uso

Aqui está um exemplo de como usar 2> & 1 em um script de bash:

#!/bin /bash ls /não_a_directory> /dev /null 2> & 1 se [$? -ne 0]; Então eco "Erro: Diretório não encontrado" FI
123456#!/bin /bash ls /não_a_directory> /dev /null 2> & 1if [$? -ne 0]; Então eco "Erro: Diretório não encontrado" FI

Neste exemplo, o 'ls' O comando é executado em um diretório inexistente '/não_a_directory'. A saída deste comando é redirecionada para '/dev/null', que o descarta. O stderr A saída é redirecionada para o stdout usando 2> & 1, que permite que ele seja capturado na declaração IF. Se o status de saída ($?) do comando não é igual a 0, uma mensagem de erro é impressa.

Conclusão

Para concluir, 2> & 1 é um operador de redirecionamento de E/S usado em Bash que redireciona stderr para stdout. É útil para capturar e lidar com erros em scripts de bash, onde você precisa saber se um comando executou com sucesso ou encontrou um erro. Ao mesclar a saída de erro com a saída regular, facilita a análise e lidar com erros. Compreendendo o básico de 2> & 1 é essencial para quem trabalha com scripts e comandos bash.