O comando tee pega a entrada padrão e o envia para um ou mais arquivos e a saída padrão. O comando tee é derivado do tocador t-splitter. Ele simplesmente divide a saída de um programa para que ele possa ser mostrado e salvo em um arquivo. Ele executa ambos os trabalhos simultaneamente, copia a saída para os arquivos ou variáveis fornecidos e exibe a saída.
Sintaxe:
$ tee [options] [arquivo]
Opções:
Arquivos: Existem vários arquivos. Os dados de saída são gravados para cada um deles.
O descritor de arquivo padrão para o processo de gravação de mensagens de erro é Stderr, geralmente conhecido como erro padrão. Erros padrão podem ser encaminhados para a linha de comando em Bash. Este artigo trata de redirecionar a saída do stderr usando o comando tee em diferentes cenários.
Redirecionar stderr usando o comando tee
Erros padrão são encaminhados para a linha de comando em bash. Redirecionar o Stderr pode permitir que você capture mensagens de erro em um arquivo de log distinto ou eliminar completamente as mensagens de erro. Explicaremos o procedimento para redirecionar o stderr usando o comando tee com os seguintes exemplos.
Etapa 1: Crie um arquivo Bash
Primeiro, crie um arquivo Bash “Linux.SH ”usando o seguinte comando:
$ nano linux.sh
Etapa 2: Escreva o código
Agora, escreva o código a seguir no arquivo ou você pode escrever outra coisa de acordo com o seu requisito:
$ #!/BIN/BASH
eco Olá
1> & 2 Echo World
Etapa 3: verifique se o arquivo bash está funcionando
Agora, verifique se o arquivo Bash está funcionando corretamente ou se o código escrito está correto executando o seguinte comando no terminal:
$ ./Linux.sh
O resultado fornecido gera o resultado correto, o que prova que o código está funcionando corretamente.
Execute outro comando mencionado abaixo para verificar o código de trabalho:
$ ./Linux.sh>/dev/null
Agora, execute o seguinte comando para verificar o funcionamento do código:
$ ./Linux.sh 2>/dev/null
Temos a saída esperada; Isso significa que o código está correto.
Etapa 4: redirecionar o stderr para o comando tee
O> (…) (substituição do processo) estabelece um FIFO e o disponibiliza ao tee para ouvir. Em seguida, ele emprega> (redirecionamento de arquivos) para enviar o stdout do comando para o FIFO de que sua primeira camiseta está monitorando.
O seguinte comando redireciona Stderr para o tee. Ele redireciona a saída para "/tmp/log":
$ ./Linux.sh 2 >> (tee /tmp /log)
Agora, produza o arquivo para o qual redirecionamos a saída.
$ cat /tmp /log
Por padrão, tee impressa em stdout. Imprima isso para Stderr.
$ (./Linux.sh 2 >> (tee/tmp/log> & 2))>/dev/null
Conclusão
O comando tee lê os dados de um arquivo de entrada/arquivos e grava a saída recebida em muitos arquivos. Redirecionar erros para Stderr pode ser feito com a ajuda do comando tee. Existem muitas maneiras de redirecionar a saída. Mas neste artigo, descrevemos um procedimento, com a ajuda de um exemplo, para redirecionar o Stderr para o tee usando um arquivo bash e exibir a saída no Ubuntu (Sistema Operacional Linux). Você achará este artigo útil para redirecionar o stderr usando o comando tee.