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

Algoritmos resolvidos lista 2
Algoritmos resolvidos lista 2Algoritmos resolvidos lista 2
Algoritmos resolvidos lista 2isa_ise
 
Regular Expressions grep and egrep
Regular Expressions grep and egrepRegular Expressions grep and egrep
Regular Expressions grep and egrepTri Truong
 
ELF(executable and linkable format)
ELF(executable and linkable format)ELF(executable and linkable format)
ELF(executable and linkable format)Seungha Son
 
Object Oriented Programming with Real World Examples
Object Oriented Programming with Real World ExamplesObject Oriented Programming with Real World Examples
Object Oriented Programming with Real World ExamplesOXUS 20
 
PHP File Handling
PHP File Handling PHP File Handling
PHP File Handling Degu8
 
Learning sed and awk
Learning sed and awkLearning sed and awk
Learning sed and awkYogesh Sawant
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js ExpressEyal Vardi
 
REST APIs in Laravel 101
REST APIs in Laravel 101REST APIs in Laravel 101
REST APIs in Laravel 101Samantha Geitz
 
Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux Ahmed El-Arabawy
 
Intro to Linux Shell Scripting
Intro to Linux Shell ScriptingIntro to Linux Shell Scripting
Intro to Linux Shell Scriptingvceder
 
Go Programming Language (Golang)
Go Programming Language (Golang)Go Programming Language (Golang)
Go Programming Language (Golang)Ishin Vin
 

Mais procurados (20)

Powershell training material
Powershell training materialPowershell training material
Powershell training material
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
 
Dart workshop
Dart workshopDart workshop
Dart workshop
 
SQL Views
SQL ViewsSQL Views
SQL Views
 
Php functions
Php functionsPhp functions
Php functions
 
Aula 20 div e spans
Aula 20 div e spansAula 20 div e spans
Aula 20 div e spans
 
Algoritmos resolvidos lista 2
Algoritmos resolvidos lista 2Algoritmos resolvidos lista 2
Algoritmos resolvidos lista 2
 
Regular Expressions grep and egrep
Regular Expressions grep and egrepRegular Expressions grep and egrep
Regular Expressions grep and egrep
 
PHP
PHPPHP
PHP
 
ELF(executable and linkable format)
ELF(executable and linkable format)ELF(executable and linkable format)
ELF(executable and linkable format)
 
Object Oriented Programming with Real World Examples
Object Oriented Programming with Real World ExamplesObject Oriented Programming with Real World Examples
Object Oriented Programming with Real World Examples
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
PHP File Handling
PHP File Handling PHP File Handling
PHP File Handling
 
Learning sed and awk
Learning sed and awkLearning sed and awk
Learning sed and awk
 
Ruby on Rails Presentation
Ruby on Rails PresentationRuby on Rails Presentation
Ruby on Rails Presentation
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js Express
 
REST APIs in Laravel 101
REST APIs in Laravel 101REST APIs in Laravel 101
REST APIs in Laravel 101
 
Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux
 
Intro to Linux Shell Scripting
Intro to Linux Shell ScriptingIntro to Linux Shell Scripting
Intro to Linux Shell Scripting
 
Go Programming Language (Golang)
Go Programming Language (Golang)Go Programming Language (Golang)
Go Programming Language (Golang)
 

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