Fpar aula5

233 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
233
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Fpar aula5

  1. 1. Fundamento de Programação Aplicada a Redes Aula 4 – Comandos básicos shell script Professor: Paulo Cesar E-mail: pccbranco@gmail.com
  2. 2. Comandos Básicos Detalhes sobre alguns comandos Comando Função Opções úteis cat Mostrar arquivo -n -s cut Extrai campo -d -f -c date Mostra data -d find Encontra arquivos -name -iname -type f grep Encontra texto -i -v -r -w -x rev Inverte texto sort Ordena texto -n -f -r seq Conta números -s -f tr Transforma texto -d -s A-Z a-z uniq Remove arquivos duplicados -i -d -u wc Conta letras -c -l -w read
  3. 3. Shell Script Recebendo entrada de dados O comando “read” faz com que variaveis possam receber entradas do usuário. Quando o script encontra um comando “read”, ele para sua execução e aguarda que o usuário informe os dados e tecle enter, para concluir a operação. Ex.: #!/bin/bash read nome Echo “Meu nome é $nome”
  4. 4. Aspas simples, duplas e crase Há muita diferença entre eles. Proteção com aspas (quoting) é a forma utilizada para informar ao shell como interpretar os dados passados. Aspas Simples ( '…..') Aspas simples forçam o shell a tratar literalmente tudo o que estiver entre o par de aspas. Não é possível encaixar aspas simples dentro de uma string protegida por aspas simples, pois nem a barra invertida () é especial dentro de aspas simples. Ex: var = 'Olá, eu sou $USER' O Conteúdo de var é: Olá, eu sou $USER – A variável $USER não foi processado. Tudo que se encontra dentro das aspas simples é entendido literalmente.
  5. 5. Aspas simples, duplas e crase Aspas duplas (“......”) Aspas duplas agrupam o texto como uma única string, porém o shell processa caracteres de escape, variáveis, substituição de comandos, etc. Ex.: var=“Olá, eu sou $USER” Agora var contém Olá, eu sou root – A variavel $USER agora vai devidamente processada e seu valor passado para string.
  6. 6. Aspas simples, duplas e crase Crase (`....`) A crase passa a saída do comando entre a crase para a string. Ex: var=”Eu agora estou em: `pwd`” O Conteúdo de var ficou: Eu estou agora estou em: /home/aluno
  7. 7. O comando “expr” Comandos para scripts interativos O comando expr trabalha com expressões matemáticas simples e somente números inteiros. Permite, também, manipulação de strings, mas com recursos limitados. Exemplos de operações matemáticas com expr podem ser vistos abaixo: $ expr 3 + 4 7 $ expr 5 - 2 3 $ expr 10 / 5 2 $ expr 2 * 3 expr: erro de sintaxe $ expr 2 * 3 6 Exemplo: #!/bin/bash echo “Entre com um número:” read num1 echo “Entre com outro número:” read num2 echo “O resultado da soma foi: “ expr $num1 + $num2
  8. 8. Comando “test” O comando test consegue fazer vários tipos de testes em números, textos e arquivos. Ele possui várias opções para indicar que tipo de teste será feito, segue alguns: $ test expressão # Formato comum. [ expressão ] # Formato recente. [ s1 == s2 ] # Retorna verdadeiro se a string s1 for igual a string s2 [ s1 != s2 ] # Retorna verdadeiro se a string s1 for diferente da string s2.
  9. 9. Comando “test” Utilizado entre variáveis Opção Descrição -gt Número é maior que -ge Número é maior e igual -lt Número é menor que -le Número é menor e igual -eq Número é igual = String é igual != String é diferente -n String não é nula -z String é nula
  10. 10. Comando “test” Utilizado em arquivos Opção Descrição -e Arquivo existe -d É um diretório -f É um arquivo normal -r O arquivo tem permissão de leitura. -s O tamanho do arquivo é maior que zero. -w O arquivo tem permissão de escrita.
  11. 11. Exemplo - Script #!/bin/bash Echo “vou buscar os dados do sistema. Posso continuar? [sn]” read resposta test “$resposta” = “n” && exit echo “data e horario:” date echo echo “uso do disco:” df echo “usuários conectados:” w
  12. 12. Estrutura de Controle O construtor “if/then” avalia uma expressão lógica para tomar uma decisão. Em shell, se a saída retorna verdadeiro (significa sucesso). Em caso afirmativo, executa uma ou mais comandos. Existe um comando específico, denominado “[ ]” (caractere especial colchete). Ele considera seus argumentos como expressões de comparação ou testes em arquivos e retorna um status correspondente ao resultado da comparação ( 0 para verdadeiro e 1 para falso). O construtor “if/then” pode testar a saída de qualquer comando, não se limitando apenas a testes entre colchetes.
  13. 13. Estrutura de Controle Sintaxe
  14. 14. Exemplo – if/then #!/bin/bash echo "Compara dois numeros" echo "Escreva o primeiro numero:" read n1 echo "Escreva o segundo numero:" read n2 if [ $n1 == $n2 ] then echo “Os números são iguais" else echo “Os números são diferentes" f
  15. 15. Exemplo – if/then #!/bin/bash echo "Digite o nome de uma pasta" read nome1 if test -d $nome1 then cd $nome1 touch arquivo1.txt else mkdir $nome1 cd $nome1 touch arquivo1.txt f
  16. 16. Estrutura de Controle A estrutura case permite selecionar uma entre várias opções de ação, baseando-se num valor de uma variável. Deve ser usada no lugar da declaração if/then quando esta tiver um grande número de condições. Essa estrutura pode ser usada para executar declarações que dependem de um valor isolado ou de uma faixa de valores. Se nenhum valor for encontrado, há a opção de executar o valor padrão “*”. A variável definida logo após a instrução case tem que ter alguma das opções em seguida. Se nenhuma opção for escolhida, a opção padrão será executada. O próximo slide mostra um exemplo de uso do case.
  17. 17. Exemplo - Case #!/bin/bash echo “Qual sua resposta?” read opcao case $opcao in sim ) echo "Você concordou!" ;; nao ) echo "Que pena!" ;; * ) echo "Nem sim, nem não";; esac Deve-se observar que as instruções terminam com um duplo ponto-e-vírgula “;;”. Se não for assim, a instrução seguinte será executada junto. Este duplo ponto-e-vírgula pode ser colocado depois da instrução ou na linha seguinte. Para encerrar a estrutura ”case” usa-se ”esac”, que é case escrito ao contrário.
  18. 18. Exemplo - Case #!/bin/bash echo "Digite o primeiro numero:" read n1 echo "Digite o segundo numero:" read n2 echo "Escolha uma operação?" read opcao case $opcao in soma) echo "A soma dos numeros é `expr $n1 + $n2`" ;; sub) echo "A subtração dos numeros é `expr $n1 - $n2`" ;; div) echo "A divisão dos numeros é `expr $n1 / $n2`" ;; mult) echo "A multiplicação dos numeros é `expr $n1 * $n2`" ;; *) echo " Nenhuma operação foi realizada" ;; esac

×