SlideShare uma empresa Scribd logo
1 de 10
Shell Script II  Sistemas Operacionais Carlos Melo
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.
Os 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;
[object Object]
&> (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 >   ,[object Object],$ ps aux > processos.list Agora, 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.list Observe 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.list Agora 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.exec ls cat arquivo_inexistente  Agora, utilizamos o comando exec para executar os comandos listados no arquivo lista.exec, da seguinte forma:  $ exec < lista.exec

Mais conteúdo relacionado

Mais procurados

Programação em bat
Programação em batProgramação em bat
Programação em bathackernoob
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básicoCezar Souza
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall Carlos Melo
 
Invasão de servidor ftp
Invasão de servidor ftpInvasão de servidor ftp
Invasão de servidor ftpPraiero Oo
 
Elementos do Sistema Operacionais
Elementos do Sistema OperacionaisElementos do Sistema Operacionais
Elementos do Sistema OperacionaisJailson Torquato
 
Introdução ao Spider CPM (2)
Introdução ao Spider CPM (2)Introdução ao Spider CPM (2)
Introdução ao Spider CPM (2)Peter Mello
 
Shell script do zero aula 1 - basico do basico e primeiros comandos
Shell script do zero    aula 1 - basico do basico e primeiros comandosShell script do zero    aula 1 - basico do basico e primeiros comandos
Shell script do zero aula 1 - basico do basico e primeiros comandosIvan Ribeiro
 
Introdução aos comandos Linux
Introdução aos comandos LinuxIntrodução aos comandos Linux
Introdução aos comandos LinuxCarlos Quadros
 
O que há de novo no PHP 5.3
O que há de novo no PHP 5.3O que há de novo no PHP 5.3
O que há de novo no PHP 5.3Jose Berardo
 

Mais procurados (16)

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
 
Editor de texto VI
Editor de texto VIEditor de texto VI
Editor de texto VI
 
Comandos Unix
Comandos UnixComandos Unix
Comandos Unix
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básico
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall
 
Invasão de servidor ftp
Invasão de servidor ftpInvasão de servidor ftp
Invasão de servidor ftp
 
Elementos do Sistema Operacionais
Elementos do Sistema OperacionaisElementos do Sistema Operacionais
Elementos do Sistema Operacionais
 
Linux shell
Linux shellLinux shell
Linux shell
 
Introdução ao Spider CPM (2)
Introdução ao Spider CPM (2)Introdução ao Spider CPM (2)
Introdução ao Spider CPM (2)
 
Shell script do zero aula 1 - basico do basico e primeiros comandos
Shell script do zero    aula 1 - basico do basico e primeiros comandosShell script do zero    aula 1 - basico do basico e primeiros comandos
Shell script do zero aula 1 - basico do basico e primeiros comandos
 
Introdução aos comandos Linux
Introdução aos comandos LinuxIntrodução aos comandos Linux
Introdução aos comandos Linux
 
Comandos ip-de-redes-no-windows-1319-ory76a
Comandos ip-de-redes-no-windows-1319-ory76aComandos ip-de-redes-no-windows-1319-ory76a
Comandos ip-de-redes-no-windows-1319-ory76a
 
O que há de novo no PHP 5.3
O que há de novo no PHP 5.3O que há de novo no PHP 5.3
O que há de novo no PHP 5.3
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 

Semelhante a Shell script ii direcionadores-convertido

Operadores de redirecionamento
Operadores de redirecionamentoOperadores de redirecionamento
Operadores de redirecionamentoIvani Nascimento
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com GitVagner Santana
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batchMarcio Pereira
 
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
 
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
 
JavaScript - Aula Introdutória
JavaScript - Aula IntrodutóriaJavaScript - Aula Introdutória
JavaScript - Aula Introdutórialucasleite
 
rails_and_agile
rails_and_agilerails_and_agile
rails_and_agileJuan Maiz
 
Comandos Básicos do Linux.pptx
Comandos Básicos do Linux.pptxComandos Básicos do Linux.pptx
Comandos Básicos do Linux.pptxLucasASantos1
 
Seis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioSeis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioMarcos Antônio de Souza Silva
 
Redirecionamento, pipes e processos linux
Redirecionamento, pipes e processos   linuxRedirecionamento, pipes e processos   linux
Redirecionamento, pipes e processos linuxFábio dos Reis
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGiljefesrodrigues
 
Manual UFCD 0839.pptx
Manual UFCD 0839.pptxManual UFCD 0839.pptx
Manual UFCD 0839.pptxFormador2
 
Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04thomasdacosta
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linuxlol
 
Alguns Comandos para Linux Mint
Alguns Comandos para Linux MintAlguns Comandos para Linux Mint
Alguns Comandos para Linux MintIgor Domingos
 

Semelhante a Shell script ii direcionadores-convertido (20)

Operadores de redirecionamento
Operadores de redirecionamentoOperadores de redirecionamento
Operadores de redirecionamento
 
Aula 11 semana
Aula 11 semanaAula 11 semana
Aula 11 semana
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com Git
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch
 
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
 
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
 
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
 
rails_and_agile
rails_and_agilerails_and_agile
rails_and_agile
 
Comandos Básicos do Linux.pptx
Comandos Básicos do Linux.pptxComandos Básicos do Linux.pptx
Comandos Básicos do Linux.pptx
 
Aula3
Aula3Aula3
Aula3
 
Seis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioSeis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprio
 
Redirecionamento, pipes e processos linux
Redirecionamento, pipes e processos   linuxRedirecionamento, pipes e processos   linux
Redirecionamento, pipes e processos linux
 
Shell script
Shell script Shell script
Shell script
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGil
 
Manual UFCD 0839.pptx
Manual UFCD 0839.pptxManual UFCD 0839.pptx
Manual UFCD 0839.pptx
 
Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linux
 
Alguns Comandos para Linux Mint
Alguns Comandos para Linux MintAlguns Comandos para Linux Mint
Alguns Comandos para Linux Mint
 

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 ii direcionadores-convertido

  • 1. Shell Script II Sistemas Operacionais Carlos Melo
  • 2. 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.
  • 3. Os 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;
  • 4.
  • 5. &> (e-maior): Direciona todas as saídas (normal e de erro) para um arquivo, substituindo seu conteúdo, caso ele já exista;
  • 6. &>> (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;
  • 7. | (barra vertical ou pipe): Utiliza a saída do primeiro comando como argumento do segundo comando.
  • 8.
  • 9. 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.list Observe 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.list Agora sim, nenhuma mensagem de erro foi exibida na tela, porque ela foi enviada para o arquivo diretorios.list, verifique o resultado.
  • 10. 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.exec ls cat arquivo_inexistente Agora, utilizamos o comando exec para executar os comandos listados no arquivo lista.exec, da seguinte forma: $ exec < lista.exec
  • 11. 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 &quot;fim&quot;: $ cat << fim > O comando só termina > quando for digitada > a palavra especificada > depois do direcionador > <<, nesse caso, a palavra > é &quot;fim&quot; > fim 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/usb vfat rw,user,noauto,sync 0 0 > FIM
  • 12. 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
  • 13.