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

Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법pyrasis
 
Linux shell env
Linux shell envLinux shell env
Linux shell envRahul Pola
 
Quick Guide with Linux Command Line
Quick Guide with Linux Command LineQuick Guide with Linux Command Line
Quick Guide with Linux Command LineAnuchit Chalothorn
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Introduction to Powershell Version 5
Introduction to Powershell Version 5Introduction to Powershell Version 5
Introduction to Powershell Version 5Nishtha Kesarwani
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
Linux admin interview questions
Linux admin interview questionsLinux admin interview questions
Linux admin interview questionsKavya Sri
 
Lecture 1 :: Gestão de Projetos de SW - 4 Ps - Fases da Engenharia de SW
Lecture 1 :: Gestão de Projetos de SW - 4 Ps - Fases da Engenharia de SWLecture 1 :: Gestão de Projetos de SW - 4 Ps - Fases da Engenharia de SW
Lecture 1 :: Gestão de Projetos de SW - 4 Ps - Fases da Engenharia de SWRogerio P C do Nascimento
 

Mais procurados (20)

Shell scripting
Shell scriptingShell scripting
Shell scripting
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
Basic 50 linus command
Basic 50 linus commandBasic 50 linus command
Basic 50 linus command
 
Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법
 
Linux shell env
Linux shell envLinux shell env
Linux shell env
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 
Quick Guide with Linux Command Line
Quick Guide with Linux Command LineQuick Guide with Linux Command Line
Quick Guide with Linux Command Line
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
CMake best practices
CMake best practicesCMake best practices
CMake best practices
 
Maven
MavenMaven
Maven
 
Introduction to Powershell Version 5
Introduction to Powershell Version 5Introduction to Powershell Version 5
Introduction to Powershell Version 5
 
Linux
Linux Linux
Linux
 
Linux Run Level
Linux Run LevelLinux Run Level
Linux Run Level
 
Git vs svn
Git vs svnGit vs svn
Git vs svn
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Linux admin interview questions
Linux admin interview questionsLinux admin interview questions
Linux admin interview questions
 
Linux cheat-sheet
Linux cheat-sheetLinux cheat-sheet
Linux cheat-sheet
 
Aula10 sql-ddl
Aula10 sql-ddlAula10 sql-ddl
Aula10 sql-ddl
 
Lecture 1 :: Gestão de Projetos de SW - 4 Ps - Fases da Engenharia de SW
Lecture 1 :: Gestão de Projetos de SW - 4 Ps - Fases da Engenharia de SWLecture 1 :: Gestão de Projetos de SW - 4 Ps - Fases da Engenharia de SW
Lecture 1 :: Gestão de Projetos de SW - 4 Ps - Fases da Engenharia de SW
 

Semelhante a Soa cap2 exercicios resolvidos shell

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
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 

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