SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
Exercícios Resolvidos
                                      ­Shell Script­
   1. Crie uma Script que lê 2 números e determine a adição e multiplicação destes.

      #!/bin/bash

      echo "Introduza o 1o. numero"
      read n1
      echo "Introduza o 2o. numero"
      read n2

      echo $[ $n1 + $n2 ]
      echo $[ $n1 * $n2 ]

   2. Crie uma Script que lê um numero e determine se o mesmo é par ou ímpar.
      #!/bin/bash

      echo "Introduza o numero"
      read no

      if [ $(($no%2)) = 0 ]
      then
      echo "Numero par"
      else
      echo "Numero impar"
      fi 

   3. Crie uma Script que imprime números de 1 a 5 usando ciclo for.
      #!/bin/sh
      for i in 1 2 3 4 5
      do
      echo "Numero $i"
      done

   4. Crie uma Script usando ciclo for que imprime valores de 10  a 0;
      #!/bin/bash

      for (( i=10; i>=0; i­­ ))
      do
      echo $i
      done

   5. Script que cria directórios de acordo com um número de directórios especificado pelo usuário 
      bem como as letras iniciais dos directórios a criar.

Sistema Operativos Avançados                                                  dr. Jonnathan Guambe
#!/bin/bash
      echo "Introduza o nr. de directorios a criar"
      read nrDirs

      echo "Introduza as letras iniciais dos directorios a criar"
      read ltIni

      #seq 2 $nrDirs ­ cria uma sequencia de 1 ao numero 
      #de directorios especificados pelo usuario
      for ndir in `seq 1 $nrDirs`; do
      mkdir $ltIni$ndir
      done

   6. Crie um script, que ao ser executado liste as seguintes opções: 
      Solicite o nome do directório desejado, entre nesse directório e liste seu conteúdo. 
      1 ­ Solicita o nome do arquivo a ser impresso. 
      2 ­ Solicita o nome do arquivo a ser editado. 
      3 ­ Solicita o nome do arquivo a ser excluído. 
      4 ­ Para sair do script.
              #!/bin/bash
              linha="­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­"
              echo "Introduza o directorio a operar"
              read dir

              echo "­­­­­Entrando no directorio­­­­"
              cd $dir
              echo "­­­­­Listando conteudos­­­­"
              ls $dir
              echo "­­­­­Fim da Listagem­­­­"

              echo "­­­­­­­­­­­­­­Escolha sua opcao­­­­­­­­­­­­­"
              echo $linha
              echo "1 ­ Mostrar conteudo de um ficheiro"
              echo "2 ­ Editar um ficheiro"
              echo "3 ­ Remover ficheiro"
              echo $linha
              read opcao
              echo ""

              echo "Indique o nome do ficheiro"
              read fich

              case $opcao in


Sistema Operativos Avançados                                                      dr. Jonnathan Guambe
1) cat $fich
                      ;;
                      2) gedit $fich
                      ;;
                      3) rm $fich
                      ;;
                      *)
                      echo "Opcao invalida"
               esac


    7. Escreva um conjunto de scripts para efectuar gestão de remoção de arquivos. A script del deve 
       mover os arquivos passados como parâmetros para um directório lixeira; o script undel deve 
       mover arquivos da lixeira para o directório corrente e o script lsdel deve listar o conteúdo da 
       lixeira. O directório lixeira deve ser definido através da variável de ambiente $LIXEIRA. 
       R:
       Antes de correr as scripts, garantir que o directório que servira como lixeira existe e definir a 
variável de ambiente executando na linha de comando o seguinte: export LIXEIRA=/tmp/lixo
       Script del.sh:
       #!/bin/bash

       #$@ ­ Serve para buscar todos argumentos de uma única vez
       #$LIXEIRA – Variável de ambiente definido anteriormente
       mv $@ $LIXEIRA

       ==>Exemplo da execução do exercício anterior executando na linha de comando:
       $touch test{1,2,3,7,9}.txt
       $mkdir /tmp/lixo
       $export LIXEIRA=/tmp/lixo
       $./del.sh test1.txt test3.txt test9.txt

       Script undel.sh:
       #!/bin/bash

       #$@ ­ Serve para buscar todos argumentos de uma única vez
       #$LIXEIRA – Variável de ambiente definido anteriormente
       #. ­ refere ao directório local
       mv $LIXEIRA/* .

       Script lsdel.sh:
       #!/bin/bash

       #$@ ­ Serve para buscar todos argumentos de uma única vez
       #$LIXEIRA – Variável de ambiente definido anteriormente


Sistema Operativos Avançados                                                       dr. Jonnathan Guambe
ls ­lh $LIXEIRA




Sistema Operativos Avançados    dr. Jonnathan Guambe

Mais conteúdo relacionado

Mais procurados

Bash shell scripting
Bash shell scriptingBash shell scripting
Bash shell scriptingVIKAS TIWARI
 
Easiest way to start with Shell scripting
Easiest way to start with Shell scriptingEasiest way to start with Shell scripting
Easiest way to start with Shell scriptingAkshay Siwal
 
Basic command ppt
Basic command pptBasic command ppt
Basic command pptRohit Kumar
 
Bash Shell Scripting
Bash Shell ScriptingBash Shell Scripting
Bash Shell ScriptingRaghu nath
 
Course 102: Lecture 26: FileSystems in Linux (Part 1)
Course 102: Lecture 26: FileSystems in Linux (Part 1) Course 102: Lecture 26: FileSystems in Linux (Part 1)
Course 102: Lecture 26: FileSystems in Linux (Part 1) Ahmed El-Arabawy
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell ScriptLuís Eduardo
 
Class 3 - PHP Functions
Class 3 - PHP FunctionsClass 3 - PHP Functions
Class 3 - PHP FunctionsAhmed Swilam
 
Threads 03: Ciclo de vida, aplicações e boas práticas
Threads 03: Ciclo de vida, aplicações e boas práticasThreads 03: Ciclo de vida, aplicações e boas práticas
Threads 03: Ciclo de vida, aplicações e boas práticasHelder da Rocha
 
Taller de Shell Scripting
Taller de Shell ScriptingTaller de Shell Scripting
Taller de Shell ScriptingEnrique Verdes
 
Course 102: Lecture 8: Composite Commands
Course 102: Lecture 8: Composite Commands Course 102: Lecture 8: Composite Commands
Course 102: Lecture 8: Composite Commands Ahmed El-Arabawy
 
Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals Ahmed El-Arabawy
 
Linux Basic Commands
Linux Basic CommandsLinux Basic Commands
Linux Basic CommandsHanan Nmr
 

Mais procurados (20)

Shell Scripting
Shell ScriptingShell Scripting
Shell Scripting
 
Bash shell scripting
Bash shell scriptingBash shell scripting
Bash shell scripting
 
Easiest way to start with Shell scripting
Easiest way to start with Shell scriptingEasiest way to start with Shell scripting
Easiest way to start with Shell scripting
 
Basic linux commands
Basic linux commandsBasic linux commands
Basic linux commands
 
Linux commands
Linux commandsLinux commands
Linux commands
 
Basic command ppt
Basic command pptBasic command ppt
Basic command ppt
 
Bash Shell Scripting
Bash Shell ScriptingBash Shell Scripting
Bash Shell Scripting
 
Course 102: Lecture 26: FileSystems in Linux (Part 1)
Course 102: Lecture 26: FileSystems in Linux (Part 1) Course 102: Lecture 26: FileSystems in Linux (Part 1)
Course 102: Lecture 26: FileSystems in Linux (Part 1)
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell Script
 
Backup and-recovery2
Backup and-recovery2Backup and-recovery2
Backup and-recovery2
 
Class 3 - PHP Functions
Class 3 - PHP FunctionsClass 3 - PHP Functions
Class 3 - PHP Functions
 
Threads 03: Ciclo de vida, aplicações e boas práticas
Threads 03: Ciclo de vida, aplicações e boas práticasThreads 03: Ciclo de vida, aplicações e boas práticas
Threads 03: Ciclo de vida, aplicações e boas práticas
 
Taller de Shell Scripting
Taller de Shell ScriptingTaller de Shell Scripting
Taller de Shell Scripting
 
Course 102: Lecture 8: Composite Commands
Course 102: Lecture 8: Composite Commands Course 102: Lecture 8: Composite Commands
Course 102: Lecture 8: Composite Commands
 
Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals
 
Linux Basic Commands
Linux Basic CommandsLinux Basic Commands
Linux Basic Commands
 
Linux dma engine
Linux dma engineLinux dma engine
Linux dma engine
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Shell Script Linux
Shell Script LinuxShell Script Linux
Shell Script Linux
 

Semelhante a Soa cap2 exercicios resolvidos shell

Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Hugo Maia Vieira
 
Cap1exercicioscomandoslinux 121113112337-phpapp02
Cap1exercicioscomandoslinux 121113112337-phpapp02Cap1exercicioscomandoslinux 121113112337-phpapp02
Cap1exercicioscomandoslinux 121113112337-phpapp02clemilson oliveira
 
Minicurso Comando Básicos
Minicurso Comando BásicosMinicurso Comando Básicos
Minicurso Comando Básicostonbada
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxoFrederico Madeira
 
Oficina shell
Oficina shellOficina shell
Oficina shellapsegundo
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power toolsArmando Reis
 
Introdução ao shell script no linux
Introdução ao shell script no linuxIntrodução ao shell script no linux
Introdução ao shell script no linuxPaulo Damas
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell scriptbrunobione
 
Trabalhando na Linha de comando
Trabalhando na  Linha de comandoTrabalhando na  Linha de comando
Trabalhando na Linha de comandoSoftD Abreu
 

Semelhante a Soa cap2 exercicios resolvidos shell (20)

Lpi+102
Lpi+102Lpi+102
Lpi+102
 
Linux shell
Linux shellLinux shell
Linux shell
 
Shell Script v0
Shell Script v0Shell Script v0
Shell Script v0
 
Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)
 
Cap1exercicioscomandoslinux 121113112337-phpapp02
Cap1exercicioscomandoslinux 121113112337-phpapp02Cap1exercicioscomandoslinux 121113112337-phpapp02
Cap1exercicioscomandoslinux 121113112337-phpapp02
 
Shell script
Shell scriptShell script
Shell script
 
Comandos linux
Comandos linux Comandos linux
Comandos linux
 
Minicurso Comando Básicos
Minicurso Comando BásicosMinicurso Comando Básicos
Minicurso Comando Básicos
 
Cap1 exercicios comandos linux
Cap1 exercicios comandos linuxCap1 exercicios comandos linux
Cap1 exercicios comandos linux
 
shell bash Fpar aula6
shell bash Fpar aula6shell bash Fpar aula6
shell bash Fpar aula6
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Shell Scipt - Comandos
Shell Scipt - ComandosShell Scipt - Comandos
Shell Scipt - Comandos
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxo
 
Soa cap2 exercicios
Soa cap2 exerciciosSoa cap2 exercicios
Soa cap2 exercicios
 
Oficina shell
Oficina shellOficina shell
Oficina shell
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power tools
 
Fpar aula5
Fpar aula5Fpar aula5
Fpar aula5
 
Introdução ao shell script no linux
Introdução ao shell script no linuxIntrodução ao shell script no linux
Introdução ao shell script no linux
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
Trabalhando na Linha de comando
Trabalhando na  Linha de comandoTrabalhando na  Linha de comando
Trabalhando na Linha de comando
 

Mais de portal_Do_estudante

Mais de portal_Do_estudante (9)

Soa#cap4.1 gestor de pacotes
Soa#cap4.1   gestor de pacotesSoa#cap4.1   gestor de pacotes
Soa#cap4.1 gestor de pacotes
 
Soa#cap4.1 gestor de pacotes
Soa#cap4.1   gestor de pacotesSoa#cap4.1   gestor de pacotes
Soa#cap4.1 gestor de pacotes
 
Soa cap3 servicos de internet
Soa cap3   servicos de internetSoa cap3   servicos de internet
Soa cap3 servicos de internet
 
Soa cap4[1].4 ufw
Soa cap4[1].4   ufwSoa cap4[1].4   ufw
Soa cap4[1].4 ufw
 
Soa cap2 administracao de sistemas2 (slides)
Soa cap2 administracao de sistemas2 (slides)Soa cap2 administracao de sistemas2 (slides)
Soa cap2 administracao de sistemas2 (slides)
 
Soa cap2 admin-sistemas - manual
Soa cap2 admin-sistemas - manualSoa cap2 admin-sistemas - manual
Soa cap2 admin-sistemas - manual
 
Soa cap1 introducao a linux
Soa cap1 introducao a linuxSoa cap1 introducao a linux
Soa cap1 introducao a linux
 
Soa cap1 ubuntu
Soa cap1   ubuntuSoa cap1   ubuntu
Soa cap1 ubuntu
 
Cap1 exercicios comandos linux resolucao part i
Cap1 exercicios comandos linux   resolucao part iCap1 exercicios comandos linux   resolucao part i
Cap1 exercicios comandos linux resolucao part i
 

Soa cap2 exercicios resolvidos shell

  • 1. Exercícios Resolvidos ­Shell Script­ 1. Crie uma Script que lê 2 números e determine a adição e multiplicação destes. #!/bin/bash echo "Introduza o 1o. numero" read n1 echo "Introduza o 2o. numero" read n2 echo $[ $n1 + $n2 ] echo $[ $n1 * $n2 ] 2. Crie uma Script que lê um numero e determine se o mesmo é par ou ímpar. #!/bin/bash echo "Introduza o numero" read no if [ $(($no%2)) = 0 ] then echo "Numero par" else echo "Numero impar" fi  3. Crie uma Script que imprime números de 1 a 5 usando ciclo for. #!/bin/sh for i in 1 2 3 4 5 do echo "Numero $i" done 4. Crie uma Script usando ciclo for que imprime valores de 10  a 0; #!/bin/bash for (( i=10; i>=0; i­­ )) do echo $i done 5. Script que cria directórios de acordo com um número de directórios especificado pelo usuário  bem como as letras iniciais dos directórios a criar. Sistema Operativos Avançados  dr. Jonnathan Guambe
  • 2. #!/bin/bash echo "Introduza o nr. de directorios a criar" read nrDirs echo "Introduza as letras iniciais dos directorios a criar" read ltIni #seq 2 $nrDirs ­ cria uma sequencia de 1 ao numero  #de directorios especificados pelo usuario for ndir in `seq 1 $nrDirs`; do mkdir $ltIni$ndir done 6. Crie um script, que ao ser executado liste as seguintes opções:  Solicite o nome do directório desejado, entre nesse directório e liste seu conteúdo.  1 ­ Solicita o nome do arquivo a ser impresso.  2 ­ Solicita o nome do arquivo a ser editado.  3 ­ Solicita o nome do arquivo a ser excluído.  4 ­ Para sair do script. #!/bin/bash linha="­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­" echo "Introduza o directorio a operar" read dir echo "­­­­­Entrando no directorio­­­­" cd $dir echo "­­­­­Listando conteudos­­­­" ls $dir echo "­­­­­Fim da Listagem­­­­" echo "­­­­­­­­­­­­­­Escolha sua opcao­­­­­­­­­­­­­" echo $linha echo "1 ­ Mostrar conteudo de um ficheiro" echo "2 ­ Editar um ficheiro" echo "3 ­ Remover ficheiro" echo $linha read opcao echo "" echo "Indique o nome do ficheiro" read fich case $opcao in Sistema Operativos Avançados  dr. Jonnathan Guambe
  • 3. 1) cat $fich ;; 2) gedit $fich ;; 3) rm $fich ;; *) echo "Opcao invalida" esac 7. Escreva um conjunto de scripts para efectuar gestão de remoção de arquivos. A script del deve  mover os arquivos passados como parâmetros para um directório lixeira; o script undel deve  mover arquivos da lixeira para o directório corrente e o script lsdel deve listar o conteúdo da  lixeira. O directório lixeira deve ser definido através da variável de ambiente $LIXEIRA.  R: Antes de correr as scripts, garantir que o directório que servira como lixeira existe e definir a  variável de ambiente executando na linha de comando o seguinte: export LIXEIRA=/tmp/lixo Script del.sh: #!/bin/bash #$@ ­ Serve para buscar todos argumentos de uma única vez #$LIXEIRA – Variável de ambiente definido anteriormente mv $@ $LIXEIRA ==>Exemplo da execução do exercício anterior executando na linha de comando: $touch test{1,2,3,7,9}.txt $mkdir /tmp/lixo $export LIXEIRA=/tmp/lixo $./del.sh test1.txt test3.txt test9.txt Script undel.sh: #!/bin/bash #$@ ­ Serve para buscar todos argumentos de uma única vez #$LIXEIRA – Variável de ambiente definido anteriormente #. ­ refere ao directório local mv $LIXEIRA/* . Script lsdel.sh: #!/bin/bash #$@ ­ Serve para buscar todos argumentos de uma única vez #$LIXEIRA – Variável de ambiente definido anteriormente Sistema Operativos Avançados  dr. Jonnathan Guambe