>_Redirecionamento de saída

No Linux é possível trabalhar com os dados de uma forma muito poderosa, tanto entrada como saída de dados é possível interferir e captar fácilmente. Tudo que é imprimível pode ser redirecionado para dispositivos do computador. Por isso no Linux é comum usar o conceito “entrada padrão” e “saída padrão”. A princípio dá pra se imaginar que, numa interface de console, a entrada padrão é o teclado e saída padrão a tela. Na verdade isso é redirecionado pra um socket, um arquivo em /dev. Chamado de stdout e stdin.

stdin
Entrada padrão de dados para o programa
stdout
Saída padrão de dados do programa
stderr
Saída padrão de erro

Redirecionamentos

É possível tratar a entrada padrão e a saída padrão usando apenas alguns caracteres especiais. São eles:

> – Redireciona a saída padrão para um arquivo
>> – Redireciona a saída padrão pra um arquivo sem apagar o conteúdo do arquivo
< – Redireciona a entrada padrão usando um arquivo
2> – Redireciona a saída de erro para arquivo
2>> – Redireciona a saída de erro anexando o conteúdo em um arquivo
>&2 – Redireciona a saída padrão para saída de erro
2>&1– Redireciona saída de erro para saída padrão
| – Conecta a saída padrão na entrada padrão de outro arquivo

Todos esses redirecionamentos são muito usados. Apesar de parecer complicado não é tanto assim. Usando exemplos práticos fica simples:

echo TESTE > arquivo.txt
escreve TESTE em um arquivo chamado arquivo.txt porém o arquivo é apagado caso já exista

ls foobar 2>> error.log
caso a arquivo foobar não exista (ls falhou) a mensagem de erro é anexada em error.log

cat ls -l | grep evandro
Lista na sáida o no Evandro dentro de um diretório, caso exista.

Por isso é possível criar scripts e arquivos executando varáveis e comandos com textos usando um tipo especial de redirecionamento de saída usando quotes chamado (here document) que permite que você inicie com << PALAVRA e termine com PALAVRA que geralmento é usado <<EOF e EOF (End Of File – Final de Arquivo). Caractere << é usado para indicar que o texto seja usado para leitura a partir de uma palavra <<PALAVRA com marcação e encerrado depois que encontra PALAVRA, como exemplo abaixo:

1

2

3

1

2

3

>_Redirecionamento de saída
Tagged on:

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: