SlideShare uma empresa Scribd logo
1 de 10
Shell Script Carlos Melo Sistemas Operacionais
Direcionadores 		Direcionadores de fluxo fazem o que o nome sugere: direcionam o fluxo da saída dos programas, enviando-as para locais diferentes da saída padrão. Esses locais podem ser arquivos, dispositivos, processos e outros programas. 	O direcionadores utilizados no GNU/Linux são: > (maior): Direciona a saída do comando para um arquivo, substituindo o seu conteúdo, caso o arquivo já exista;  >> (maior-maior): Direciona a saída do comando para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista;  < (menor): Passa o conteúdo do arquivo como argumento para o comando;  2> (dois-maior): Direciona as saídas de erro geradas pelo programa para um arquivo, substituindo seu conteúdo, caso o arquivo já exista;
Direcionadores 2>> (dois-maior-maior): Direciona as saídas de erro geradas pelo programa para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista;  &> (e-maior): Direciona todas as saídas (normal e de erro) para um arquivo, substituindo seu conteúdo, caso ele já exista;  &>> (e-maior-maior): Direciona todas as saídas (normal e de erro) para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista;  | (barra vertical ou pipe): Utiliza a saída do primeiro comando como argumento do segundo comando.
O direcionador > O direcionador > direciona a saída padrão de um comando para um arquivo. Caso o arquivo exista, o seu conteúdo é substituído.  $ ps aux > processos.listAgora, nada é impresso no terminal. Por que? Porque a saída foi direcionada para o arquivo processos.list.  Verifique o conteúdo do arquivo.
O direcionador 2> 		Uma restrição ao uso do direcionador > é que ele não funciona para mensagens de erro. Por exemplo, vamos usar o comando ps aux usando como parâmetro um processo inexistente.$ ls diretorio_inexistente > diretorios.listObserve que, mesmo usando o direcionador >, a mensagem de erro foi exibida. Se visualizarmos o conteúdo do arquivo ls_out veremos que nada foi gravado. Para gravar as mensagens de erro, devemos usar o direcionador 2>: $ ls diretorio_inexistente 2> diretorios.listAgora sim, nenhuma mensagem de erro foi exibida na tela, porque ela foi enviada para o arquivo diretorios.list, verifique o resultado.
O direcionador < 		Uma função muito útil dos direcionadores é utilizar o conteúdo de arquivos como parâmetros de comandos. Para isso utilizamos o direcionador <. Como exemplo, vamos criar um lista de programas que devem ser executados em seqüência, no arquivo lista.exec, da seguinte forma:  $ cat lista.execlscat arquivo_inexistente Agora, utilizamos o comando exec para executar os comandos listados no arquivo lista.exec, da seguinte forma:  $ exec < lista.exec
O direcionador << 		Temos ainda o direcionador <<, utilizado para marcar o fim de exibição de um bloco. Um dos usos mais freqüentes desse direcionador é em conjunto com o comando cat. O comando abaixo termina o comando cat quando for digitada a palavra "fim": $ cat << fim> O comando só termina> quando for digitada> a palavra especificada> depois do direcionador> <<, nesse caso, a palavra> é "fim"> fim
Exemplo: Poderiámos usar isso para inserir texto em um arquivo sem precisar usar nenhum editor de texto. Vamos inserir, por exemplo, uma linha ao final do arquivo /etc/fstab: $ cat << FIM >> /etc/fstab> /dev/sda /mnt/usbvfatrw,user,noauto,sync 0 0> FIM
O direcionador | 		Por fim, temos o último direcionador, o |, também conhecido como pipe (duto, cano), utilizado para direcionar a saída de um comando para outro comando, e é utilizado todo o tempo para a realização de todo tipo de tarefas e procedimentos. 	Um dos usos mais comuns do | é com os comandos ls e more (ou less), para ver o conteúdo de um diretório, quando este não cabe na tela, como o diretório /etc, por exemplo. Para que possamos ver todos os arquivos, direcionamos a saída do ls para o more, que faz a paginação do conteúdo: $ ls /etc | more
Fim Dúvidas?

Mais conteúdo relacionado

Mais procurados

Mais procurados (16)

Aula6 Cont
Aula6 ContAula6 Cont
Aula6 Cont
 
Editor de texto VI
Editor de texto VIEditor de texto VI
Editor de texto VI
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Pilhas
PilhasPilhas
Pilhas
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linux
 
Programação em bat
Programação em batProgramação em bat
Programação em bat
 
Comandos Unix
Comandos UnixComandos Unix
Comandos Unix
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básico
 
Aula 11 semana
Aula 11 semanaAula 11 semana
Aula 11 semana
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
 
Tutorial poke-tool
Tutorial poke-toolTutorial poke-tool
Tutorial poke-tool
 
Linux shell
Linux shellLinux shell
Linux shell
 
Struts Cap10 DepuraçãO E Log
Struts Cap10 DepuraçãO E LogStruts Cap10 DepuraçãO E Log
Struts Cap10 DepuraçãO E Log
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall
 

Semelhante a Shell Script Direcionadores

Operadores de redirecionamento
Operadores de redirecionamentoOperadores de redirecionamento
Operadores de redirecionamentoIvani Nascimento
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batchMarcio Pereira
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com GitVagner Santana
 
Cartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfCartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfEdkallenn Lima
 
JavaScript - Aula Introdutória
JavaScript - Aula IntrodutóriaJavaScript - Aula Introdutória
JavaScript - Aula Introdutórialucasleite
 
Aula 05 - Programação Web - Trabalhando com arquivos em PHP
Aula 05 - Programação Web - Trabalhando com arquivos em PHPAula 05 - Programação Web - Trabalhando com arquivos em PHP
Aula 05 - Programação Web - Trabalhando com arquivos em PHPDalton Martins
 
rails_and_agile
rails_and_agilerails_and_agile
rails_and_agileJuan Maiz
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGiljefesrodrigues
 
Comandos Básicos do Linux.pptx
Comandos Básicos do Linux.pptxComandos Básicos do Linux.pptx
Comandos Básicos do Linux.pptxLucasASantos1
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1Norivan Oliveira
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bashSérgio Silva
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linuxlol
 
Redirecionamento, pipes e processos linux
Redirecionamento, pipes e processos   linuxRedirecionamento, pipes e processos   linux
Redirecionamento, pipes e processos linuxFábio dos Reis
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyGilson Filho
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem corvel
 

Semelhante a Shell Script Direcionadores (20)

Operadores de redirecionamento
Operadores de redirecionamentoOperadores de redirecionamento
Operadores de redirecionamento
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com Git
 
Cartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfCartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdf
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 
JavaScript - Aula Introdutória
JavaScript - Aula IntrodutóriaJavaScript - Aula Introdutória
JavaScript - Aula Introdutória
 
Aula 05 - Programação Web - Trabalhando com arquivos em PHP
Aula 05 - Programação Web - Trabalhando com arquivos em PHPAula 05 - Programação Web - Trabalhando com arquivos em PHP
Aula 05 - Programação Web - Trabalhando com arquivos em PHP
 
rails_and_agile
rails_and_agilerails_and_agile
rails_and_agile
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGil
 
Comandos Básicos do Linux.pptx
Comandos Básicos do Linux.pptxComandos Básicos do Linux.pptx
Comandos Básicos do Linux.pptx
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bash
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linux
 
Gerencia Básica Gnu/Linux
Gerencia Básica Gnu/LinuxGerencia Básica Gnu/Linux
Gerencia Básica Gnu/Linux
 
Redirecionamento, pipes e processos linux
Redirecionamento, pipes e processos   linuxRedirecionamento, pipes e processos   linux
Redirecionamento, pipes e processos linux
 
Calourada2010
Calourada2010Calourada2010
Calourada2010
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2py
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Linux Ubuntu
Linux   UbuntuLinux   Ubuntu
Linux Ubuntu
 

Mais de Carlos Melo

Gestão de projetos introduçao
Gestão de projetos introduçaoGestão de projetos introduçao
Gestão de projetos introduçaoCarlos Melo
 
Roteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeRoteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeCarlos Melo
 
5a.aulacapacitor
5a.aulacapacitor5a.aulacapacitor
5a.aulacapacitorCarlos Melo
 
Atividade final acionamentos
Atividade final   acionamentosAtividade final   acionamentos
Atividade final acionamentosCarlos Melo
 
Questões clp-automação
Questões clp-automaçãoQuestões clp-automação
Questões clp-automaçãoCarlos Melo
 
Apresentação12
Apresentação12Apresentação12
Apresentação12Carlos Melo
 
Gestão da manutenção os 2
Gestão da manutenção os 2Gestão da manutenção os 2
Gestão da manutenção os 2Carlos Melo
 
Gestão da manutenção os 1
Gestão da manutenção os 1Gestão da manutenção os 1
Gestão da manutenção os 1Carlos Melo
 
Desenho técnico cap1
Desenho técnico   cap1Desenho técnico   cap1
Desenho técnico cap1Carlos Melo
 
Eletrônica básica
Eletrônica básicaEletrônica básica
Eletrônica básicaCarlos Melo
 
Analise de circuito indutores
Analise de circuito   indutoresAnalise de circuito   indutores
Analise de circuito indutoresCarlos Melo
 
Notas ete jags - destec
Notas ete   jags - destecNotas ete   jags - destec
Notas ete jags - destecCarlos Melo
 
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Carlos Melo
 
Recuperação descrição
Recuperação   descriçãoRecuperação   descrição
Recuperação descriçãoCarlos Melo
 
Ete projetos elétricos 2
Ete projetos elétricos 2Ete projetos elétricos 2
Ete projetos elétricos 2Carlos Melo
 

Mais de Carlos Melo (20)

Treinamento 1
Treinamento 1Treinamento 1
Treinamento 1
 
Zener
ZenerZener
Zener
 
Gestão de projetos introduçao
Gestão de projetos introduçaoGestão de projetos introduçao
Gestão de projetos introduçao
 
Capacitancia
CapacitanciaCapacitancia
Capacitancia
 
Roteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeRoteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tarde
 
5a.aulacapacitor
5a.aulacapacitor5a.aulacapacitor
5a.aulacapacitor
 
Atividade final acionamentos
Atividade final   acionamentosAtividade final   acionamentos
Atividade final acionamentos
 
Questões clp-automação
Questões clp-automaçãoQuestões clp-automação
Questões clp-automação
 
Apresentação12
Apresentação12Apresentação12
Apresentação12
 
Pneumática
PneumáticaPneumática
Pneumática
 
Gestão da manutenção os 2
Gestão da manutenção os 2Gestão da manutenção os 2
Gestão da manutenção os 2
 
Gestão da manutenção os 1
Gestão da manutenção os 1Gestão da manutenção os 1
Gestão da manutenção os 1
 
Desenho técnico cap1
Desenho técnico   cap1Desenho técnico   cap1
Desenho técnico cap1
 
Eletrônica básica
Eletrônica básicaEletrônica básica
Eletrônica básica
 
Analise de circuito indutores
Analise de circuito   indutoresAnalise de circuito   indutores
Analise de circuito indutores
 
Notas ete jags - destec
Notas ete   jags - destecNotas ete   jags - destec
Notas ete jags - destec
 
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
 
Recuperação descrição
Recuperação   descriçãoRecuperação   descrição
Recuperação descrição
 
Recuperação 1
Recuperação 1Recuperação 1
Recuperação 1
 
Ete projetos elétricos 2
Ete projetos elétricos 2Ete projetos elétricos 2
Ete projetos elétricos 2
 

Shell Script Direcionadores

  • 1. Shell Script Carlos Melo Sistemas Operacionais
  • 2. Direcionadores Direcionadores de fluxo fazem o que o nome sugere: direcionam o fluxo da saída dos programas, enviando-as para locais diferentes da saída padrão. Esses locais podem ser arquivos, dispositivos, processos e outros programas. O direcionadores utilizados no GNU/Linux são: > (maior): Direciona a saída do comando para um arquivo, substituindo o seu conteúdo, caso o arquivo já exista; >> (maior-maior): Direciona a saída do comando para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista; < (menor): Passa o conteúdo do arquivo como argumento para o comando; 2> (dois-maior): Direciona as saídas de erro geradas pelo programa para um arquivo, substituindo seu conteúdo, caso o arquivo já exista;
  • 3. Direcionadores 2>> (dois-maior-maior): Direciona as saídas de erro geradas pelo programa para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista; &> (e-maior): Direciona todas as saídas (normal e de erro) para um arquivo, substituindo seu conteúdo, caso ele já exista; &>> (e-maior-maior): Direciona todas as saídas (normal e de erro) para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista; | (barra vertical ou pipe): Utiliza a saída do primeiro comando como argumento do segundo comando.
  • 4. O direcionador > O direcionador > direciona a saída padrão de um comando para um arquivo. Caso o arquivo exista, o seu conteúdo é substituído. $ ps aux > processos.listAgora, nada é impresso no terminal. Por que? Porque a saída foi direcionada para o arquivo processos.list. Verifique o conteúdo do arquivo.
  • 5. O direcionador 2> Uma restrição ao uso do direcionador > é que ele não funciona para mensagens de erro. Por exemplo, vamos usar o comando ps aux usando como parâmetro um processo inexistente.$ ls diretorio_inexistente > diretorios.listObserve que, mesmo usando o direcionador >, a mensagem de erro foi exibida. Se visualizarmos o conteúdo do arquivo ls_out veremos que nada foi gravado. Para gravar as mensagens de erro, devemos usar o direcionador 2>: $ ls diretorio_inexistente 2> diretorios.listAgora sim, nenhuma mensagem de erro foi exibida na tela, porque ela foi enviada para o arquivo diretorios.list, verifique o resultado.
  • 6. O direcionador < Uma função muito útil dos direcionadores é utilizar o conteúdo de arquivos como parâmetros de comandos. Para isso utilizamos o direcionador <. Como exemplo, vamos criar um lista de programas que devem ser executados em seqüência, no arquivo lista.exec, da seguinte forma: $ cat lista.execlscat arquivo_inexistente Agora, utilizamos o comando exec para executar os comandos listados no arquivo lista.exec, da seguinte forma: $ exec < lista.exec
  • 7. O direcionador << Temos ainda o direcionador <<, utilizado para marcar o fim de exibição de um bloco. Um dos usos mais freqüentes desse direcionador é em conjunto com o comando cat. O comando abaixo termina o comando cat quando for digitada a palavra "fim": $ cat << fim> O comando só termina> quando for digitada> a palavra especificada> depois do direcionador> <<, nesse caso, a palavra> é "fim"> fim
  • 8. Exemplo: Poderiámos usar isso para inserir texto em um arquivo sem precisar usar nenhum editor de texto. Vamos inserir, por exemplo, uma linha ao final do arquivo /etc/fstab: $ cat << FIM >> /etc/fstab> /dev/sda /mnt/usbvfatrw,user,noauto,sync 0 0> FIM
  • 9. O direcionador | Por fim, temos o último direcionador, o |, também conhecido como pipe (duto, cano), utilizado para direcionar a saída de um comando para outro comando, e é utilizado todo o tempo para a realização de todo tipo de tarefas e procedimentos. Um dos usos mais comuns do | é com os comandos ls e more (ou less), para ver o conteúdo de um diretório, quando este não cabe na tela, como o diretório /etc, por exemplo. Para que possamos ver todos os arquivos, direcionamos a saída do ls para o more, que faz a paginação do conteúdo: $ ls /etc | more