Shell Script Professor: João Paulo

Slides:



Advertisements
Apresentações semelhantes
Curso Basico de Linux Marcela Santos
Advertisements

Pseudo-código: sintaxe
Estruturas de Controle
Administração de sistemas operacionais
Administração de sistemas operacionais
PORTUGUÊS ESTRUTURADO E PSEUDOCÓDIGO
Algoritmo e Programação
Introdução a Programação Renata Freire
Tecnologia para Web JavaScript
Introdução ao JavaScript
Administração de Sistemas Operacionais
Linguagem C Estruturas de Sequências
Revisão da Linguagem C.
O Portal do Estudante de Computação
Trabalho sobre Shell Script
INTRODUÇÃ A COMPUTAÇÃO ENG. CIVIL
VI – Concurso de Robótica FAA
Unidade I: “Dê um mergulho rápido”
Aula prática 6 Vetores e Matrizes
Ameliara Freire O comando de entrada de dados é utilizado quando desejamos fornecer um valor para um nosso programa. Os dispositivos.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Curso básico de PHP 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
Linguagem de Programação II Parte IV
Linguagem de Programação I Parte III
FTIN Formação Técnica em Informática
Interpretador Python.
Apresentação Shell Script
Introdução a aplicativos Java
O Portal do Estudante de Computação
Algoritmo e Programação
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery.
PrograMação para internet
Capítulo 5 Structures. A - Sequence E - Formula Node B - Case F - Variável Global C - For Loop G - Variável Local D - While Loop ABCD FG E.
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Sistemas Operacionais II O Shell Bash. Objetivos Conhecer a sintaxe dos comandos; Trabalhar com funções; Trabalhar com variáveis; Expressões aritméticas;
3. Introdução à Linguagem C
Algumas notas sobre a linguagem de programação C
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
JAVA Sintaxe.
MatLab (Matrix Laboratory)
Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004
Fundamentos de linguagens de programação
Linguagem C.
Primeiros passos em Shell Script
Iº Workshop Linux da Unijorge
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Acabias Marques Luiz. III – Variáveis, constantes e executáveis Parte 1 – Introdução a linguagem  Variáveis e Constantes  Atalhos na manipulação de.
Algoritmos.
Introdução à Programação
Prof: Adriano A. Ribeiro
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Curso Técnico em Informática Professor Igor Vale.
Programação Computacional Aula 9: Meu primeiro programa em C
Desenvolvimento WEB Prof. Renato de Oliveira Bastos
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
Profa. Maria Augusta Constante Puget
Trechos de código que permitem reutilização de uma mesma tarefa. Qualquer código PHP pode estar contido no interior de uma função. Não se pode definir.
JAVASCRIPT Programação Web. O que é  E uma linguagem interpretada que e executada na maquina do cliente  Não esta associada ao framework java  Não.
Shell Script Parte 2.
Paradigmas das Linguagens de Programação - História
Tópicos em Sistemas Operacionais (LINUX) Prof:. Msc. Arimatéia Junior Fortaleza-2011.
Profº Cláudio Barbosa VBScript Introdução  Visual Basic - Linguagem de uso geral da Microsoft.  VBScript (Visual Basic.
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
CONDICIONAL IF Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
Módulo I Capítulo 7: Funções e Procedimentos William Ivanski Curso de Programação C#
JavaScript Introdução ao JavaScript 1. Objetivos Introdução Sintaxe Básica Arquivo (script) externo Script no HEAD da página Script no BODY da página.
Shell Script Prof. Rafael Paoliello Guimarães FAESA.
Programação para Internet Rica– Aula 05 Prof. Me. Ronnison Reges Vidal.
1 Estruturas Condicionais Aula – Tópico 3 Algoritmos e Estruturas de Dados I (DCC/003)
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

Shell Script Professor: João Paulo Baseado no material de Everson Scherrer Borges

O que é Shell O Shell é o "prompt" da linha de comando do Linux, que recebe os comandos digitados pelo usuário e os executa, da mesma forma que o Prompt do MS-DOS tem esta função em sistemas Microsoft Windows. Mas o Shell é muito mais poderoso que seu primo distante. Além dos comandos básicos para navegar entre diretórios e manipular arquivos, ele também possui todas as estruturas de uma linguagem de programação, como IF, FOR, WHILE, variáveis e funções. Com isso, também é possível usar o Shell para fazer Scripts e automatizar tarefas.

Shell Script Um script é um arquivo que guarda vários comandos e pode ser executado sempre que preciso. Os comandos de um script são exatamente os mesmos que se digita no prompt, ou seja, são comandos que poderiam ser digitados diretamente no terminal e seriam executados. Script em inglês significa roteiro. Para criar um script deve-se criar um arquivo texto com diversos comandos. Estes comandos serão executados em ordem. Exatamente como num roteiro.

Shell Script A primeira linha do script, se inicia com uma sequência de caracteres “#!” e indica o interpretador a ser utilizado. Se o arquivo é executável pelo usuário, o shell invoca o comando passando como parâmetro o próprio arquivo do script. Assim, shell scripts devem indicar em sua primeira linha, o interpretador apropriado: #!/bin/bash echo Hello World Para executar o script, altere suas permissões com o comando chmod. Se o arquivo se chama hello.sh, por exemplo, execute-o com: chmod 777 hello.sh

Tipos de Shell ● Após isto, para executar o script, é só digitar ./nome_do_script, pois para execução de scripts é necessário colocar o caminho absoluto para o script. Ksh - Korn Shell (David G. Korn at AT&T Bell Labs) ● Bsh – Bouner Shell (Steve Bourne 7ª versão do UNIX Bell Labs) ● Csh – C like shell ● Bash - GNU Bourne-Again SHell

Shell Script Variáveis em shell script podem ter nomes compostos por letras maiúsculas ou minúsculas, algarismos e o símbolo _. o nome de uma variável sempre deve ser iniciado por uma letra. As variáveis não precisam ser declaradas como em uma linguagem de programação compilada, é só usá-las e atribuir dados à elas, que podem ser strings, caracteres ou números.

Variáveis Incorporadas As variáveis incorporadas são variáveis especiais fornecidas pelo Linux, que podem ser usadas para se obter informações importantes dentro do script. Abaixo, temos alguns exemplos de variáveis incorporadas usadas como parâmetros: $0 : o nome do script $n : o n-ésimo argumento da linha de comando $* : todos os argumentos da linha de comando $# : número de argumentos $? : status do último comando executado (status <> 0 indica erro) $$ : número de processo (PID) do shell que executa o script

Testando Variáveis Incorporadas #!/bin/bash #exemplo de parâmetros de entrada echo "Nome do script : $0" echo "Primeiro parâmetro : $1" echo "Todos os parâmetros : $*" echo "Numero de parametros : $#" echo "Numero deste processo : $$"

Começando a Brincadeira Fazer um script chamado "sistema" e colocar estes comandos nele. O conteúdo do arquivo "sistema" seria o seguinte: #!/bin/bash date df -h w

Shell Script Executar os três comandos seguidos resulta em um bolo de texto na tela, misturando as informações e dificultando o entendimento. É preciso trabalhar um pouco a saída do script, tornando−a mais legível. Para usar o echo, basta colocar entre "aspas". O uso do echo sem aspas, fará com que ele ignore espaços em branco antes e depois da string referenciada. Se nenhum texto for colocado após o comando echo, o comando terá como resultado o aparecimento de uma linha em branco. #!/bin/bash echo "Data e Horário:" date echo echo "Uso do disco:" df echo "Usuários conectados:" w

Comandos para scripts interativos O comando read recebe a próxima linha da entrada (que pode ser a entrada padrão ou qualquer outra definida pelo usuário) e a atribui a uma variável. O exemplo abaixo mostra um exemplo de um script interativo, onde a informação é passada através do uso do read. #!/bin/bash echo "Digite seu nome:" read nome echo "Olá $nome como vai?"

Comandos para scripts interativos expr 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: [prompt]$ expr 3+4 3+4 [prompt]$ expr 3 + 4 7 [prompt]$ expr 5 - 2 3 [prompt]$ expr 10 / 5 2 [prompt]$ expr 2 * 3 expr: erro de sintaxe [prompt]$ 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

Comandos para scripts interativos Para se fazer a comparação em Bash, utiliza-se o comando test. A sua sintaxe é aceita de duas formas, com mostrado no comando abaixo. A segunda forma é mais recente e mais fácil de se entender. Mas, atenção para o fato de que é necessário haver um espaço em branco após o primeiro colchete ([) e um espaço em branco antes do último colchete (]), 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.

Operadores numéricos Os operadores >, <, >= e <= para efetuarem o efeito esperado com números, deverão fazer parte de expressões que estejam entre parênteses duplos. Se estiverem dentro de colchetes simples ou colchetes duplos, usarão ordem alfabética.

Estrutura de Controle IF A instrução if avalia uma expressão lógica para tomar uma decisão, e possui o formato apresentado abaixo. Para concluir a estrutura if usa-se o if escrito ao contrário: fi #!/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" fi if comando 1 then ... else comando 2 fi

Exemplos #!/bin/bash echo “Entre com um número:” read num if (( $num > 10 )) then echo "Você digitou um número maior que 10." else echo "Você digitou o número $num." fi

Estrutura de Controle Case 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 quando esta tiver um grande número de condições. O exemplo no próximo slide mostra um exemplo de uso do case. 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 casar com alguma das opções em seguida. Se nenhuma opção for escolhida, a opção padrão será executada.

Estrutura 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.

Estrutura de repetição While A estrutura while pode ser usada para executar uma série de instruções enquanto uma condição especificada for “verdadeira”. O loop termina quando a condição especificada se tornar “falsa” e for verificada. #!/bin/bash i=1 while (( $i < 10 )) do echo "$i" i=‘expr $i + 1‘ done

Estrutura de Repetição For A estrutura for permite a repetição de um bloco de comandos dentro de um número pré-programado de repetições. Em shell script, sua sintaxe é semelhante à linguagem C. #!/bin/bash for (( i=1; $i < 10; i++)) do echo "$i" done

Funções Da mesma forma que em outras linguagens, Bash também aceita funções. Uma função é um pedaço de programa que executa um certo conjunto de instruções que pode ser usado mais de uma vez. Um função tem o formato abaixo: Os parênteses informam ao Bash que uma função está sendo especificada, a as instruções que serão executadas ficam entre chaves ({}). Pode-se observar que pelo menos um espaço em branco deve ser colocado entre as instruções e as chaves de início e fim. Quando a função é chamada no corpo do script, ela executará todas as instruções que foram colocadas entre as chaves. nome_funcao () { instrução 1 instrução 2 instrução 3 ... }

Funções No Bash, as funções devem ser declaradas antes de seu uso, porque ele interpreta as linhas do script seqüencialmente, do início ao fim. Bash não compila o script antes de sua execução, portanto não teria como saber de antemão o significado daquela função. #!/bin/bash saudacao () # Declaração da função saudacao(). { echo “entre com seu nome:” read nome echo “Boa noite $nome!" } saudacao

Operadores Lógicos Os operadores mostrados abaixo são usados para comparar expressões usando as regras da lógica. E - && OU - || NÃO - ! Estes operadores permite combinar duas ou mais condições para que sejam testadas em conjunto. No próximo slide existe um exemplo de uso de scripts com operadores lógicos.

Operadores Lógicos #!/bin/bash echo “Qual sua resposta?” read opcao If [ $opcao == sim ] || [ $opcao == Sim ] then echo “Você concordou!” else If [ $opcao == não ] || [ $opcao == nao ] || [ $opcao == Não ] || [ $opcao == Nao ] echo “Que pena!” echo “Nem sim, nem não!” fi