<Anterior | Conteúdo | Próxima>
Qui, 28 de fevereiro 20:23:07 CET 2002
O dados comando normalmente colocaria a última linha na tela; agora está anexado ao arquivo Lista de Desejos.
5.2 Recursos avançados de redirecionamento
5.2.1. Uso de descritores de arquivo
Existem três tipos de E / S, cada um com seu próprio identificador, chamado de descritor de arquivo:
• entrada padrão: 0
• saída padrão: 1
• erro padrão: 2
Nas descrições a seguir, se o número do descritor de arquivo for omitido e o primeiro caractere do operador de redirecionamento for <, o redirecionamento se refere à entrada padrão (descritor de arquivo 0). Se o primeiro caractere do operador de redirecionamento for>, o redirecionamento se refere à saída padrão (descritor de arquivo 1).
Alguns exemplos práticos tornarão isso mais claro:
ls> lista de endereços 2> e 1
irá direcionar a saída padrão e o erro padrão para o arquivo lista de endereços, enquanto o comando
ls 2> & 1> lista de endereços
irá apenas direcionar a saída padrão para lista de endereços. Essa pode ser uma opção útil para programadores.
As coisas estão ficando muito complicadas aqui, não confunda o uso do E comercial aqui com o uso dele na Seção 4.1.2.1, onde o E comercial é usado para executar um processo em segundo plano. Aqui, ele serve apenas como uma indicação de que o número a seguir não é um nome de arquivo, mas sim um local para o qual o fluxo de dados é apontado. Observe também que o sinal de maior que não deve ser separado por espaços do número do descritor de arquivo. Se fosse separado, estaríamos apontando a saída para um arquivo novamente. O exemplo abaixo demonstra isso:
[nancy @ asus / var / tmp] $ ls 2> tmp
[nancy @ asus / var / tmp] $ ls -l tmp
-rw-rw-r-- 1 nancy nancy 0 7 de setembro 12:58 tmp
[nancy @ asus / var / tmp] $ ls 2> tmp
ls: 2: Esse arquivo ou diretório não existe
[nancy @ asus / var / tmp] $ ls 2> tmp
[nancy @ asus / var / tmp] $ ls -l tmp
-rw-rw-r-- 1 nancy nancy 0 7 de setembro 12:58 tmp
[nancy @ asus / var / tmp] $ ls 2> tmp
ls: 2: Esse arquivo ou diretório não existe
O primeiro comando que nancy executa está correto (mesmo que nenhum erro seja gerado e, portanto, o arquivo para o qual o erro padrão é redirecionado está vazio). O segundo comando espera que 2 é um nome de arquivo, que não existe neste caso, portanto, um erro é exibido.
Todos esses recursos são explicados em detalhes nas páginas de informações do Bash.