O que significa 3>&1 1>&2 2>&3 em um script do shell?
Linux e Unix

O que significa 3>&1 1>&2 2>&3 em um script do shell?




Em muitos de nossos scripts temos utilizado a sequência de caracteres 3>&1 1>&2 2>&3. Mas o que significam esses caracteres?

Bem, os números representam descritores de arquivos (file descriptors), dos quais existem três padronizados:
0 - STDIN (entrada padrão)
1 - STDOUT (saída padrão)
2 - STDERR (erro padrão)

Os descritores de arquivos podem ser redirecionados para um arquivo, com o uso do símbolo >, ou para outro descritor de arquivo, co o usoe de >&.

Desta forma, temos três redirecionamentos ocorrendo no exemplo:
3>&1 - Cria um novo descritor de arquivos e o redireciona para a saída padrão (1)
1>&2 - Redireciona a saída padrão para o erro padrão (2)
2>&3 - Redireciona o erro padrão para o descritor criado, que agora redireciona para a saída padrão.

Portanto, se nosso script escrever algo no descritor 2, os dados serão redirecionados para o descritor 1, e vice-versa. Alguns comandos escrever informações no descritor STDERR, e com o uso desses redirecionamentos podemos encaminhas os dados para a saída padrão, para que o usuário possa visualizá-los.

Exemplo de uso: comando whiptail

Aprenda mais sobre redirecionamentos e descritores de arquivos com o vídeo da Bóson Treinamentos:





loading...

- Criando Funções Em Shell Scripting - Linux
Conforme começamos a criar scripts do shell mais complexos, acabaremos invariavelmente reusando partes do código que realizam tarefas específicas. Algumas vezes são tarefas simples, como exibir uma mensagem para o usuário, e outras vezes serão...

- Criando Caixas De Diálogo Em Shell Scripting Com Dialog - Linux
O pacote dialog é uma ferramenta criada originalmente por Savio Lam. Este pacote permite criar caixas de diálogo padrão em janelas em um ambiente de texto, usando códigos de controle de escape ANSI.Podemos incorporar estas caixas de diálogo em...

- Criando Caixas De Diálogo Em Shell Scripting Com Whiptail - Linux
Neste artigo aprenderemos como criar caixas de diálogo via Shell Scripting usando a ferramenta whiptail. O whiptail é um programa que nos permite exibir diversos tipos de caixas de diálogo com questões ou mensagens aos usuários a partir de um...

- Comando Tr - Substituir E Excluir Caracteres Em Arquivos - Linux
O comando tr é um comando básico no Linux/Unix, porém apesar disso não é muito conhecido ou utilizado com frequência.Sua função básica é substituir (traduzir) o conteúdo de uma string (texto) recebido via entrada padrão (STDIN) de um formato...

- Comando Lsof - Listar Arquivos E Processos Abertos
lsof significa "listar arquivos abertos", e é um comando usado para retornar uma listagem de todos os arquivos abertos e dos processos que os abriram.Um arquivo aberto pode ser um arquivo de disco, diretório, biblioteca, pipes, dispositivos e  sockets...



Linux e Unix








.