Buscar

PROGRAMAÇÃO PARA SERVIDORES

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação para
Servidores
Aula 03: Programação Script 2 - Operadores,
repetições e tomadas de decisões
INTRODUÇÃO
Na aula 3 nossa abordagem �ca um pouco mais complexa e objetiva, pois começamos a trabalhar com operadores e
estruturas de repetição.
Muito do que foi visto em Lógica de Programação se repete agora, só que empregando outra linguagem. Você deve
lembrar que os professores disseram que o importante é a lógica na solução do problema, a linguagem é apenas um
detalhe. Pois é, vamos colocar em prática esses conceitos.
Veremos inicialmente como atribuir valores a variáveis e ainda como realizar operações aritméticas, bem como utilizar
operadores para comparar números, strings e valores lógicos. Vamos �nalizar com as estruturas de repetição for, while
e until.
OBJETIVOS
Identi�car os operadores utilizados em shell script;
Analisar as estruturas de repetições e desvios;
De�nir a melhor estrutura a ser utilizada em cada caso;
Aplicar as estruturas de repetição e tomadas de decisão na construção de scripts.
OPERADORES
O principal operador em shell script é o operador de atribuição (=). Ele atribui um valor a uma variável, porém o faz
interpretando tudo o que vem à direita do = como uma string. Para efetuar a operação matemática sugerida, devemos
utilizar o comando let.
Observe os comandos a seguir:
Fonte:
Os interpretadores de comandos mais atuais trabalham com variáveis inteiras de 64 bits, enquanto números em ponto
�utuante são tratados como strings.
VAMOS TESTAR?
Construa o script aula3-1.sh
Teste e veja o que será exibido. Se não aparecer 8 refaça até funcionar.
Corrigiu o script?
OPERADORES
Agora, veremos os tipos de operadores:
ESTRUTURAS DE REPETIÇÃO
Estruturas de repetição são blocos de código que têm sua execução repetida baseada em valores de variáveis de
controle.
Veremos, a seguir, as estruturas de repetição e exemplos do uso de cada uma delas.
FOR (para)
A estrutura for interage sobre uma lista de objetos, executando um bloco de comandos para cada objeto.
Objetos podem ser qualquer coisa que possa ser criada em forma de lista. Por exemplo, para listar (comando ls) todos
os arquivos de um diretório. Veja, abaixo, a sintaxe básica do for:
Vamos a alguns exemplos:
Tente inclui-los em scripts e veja seu funcionamento, altere os valores, erre e acerte. Não há outra forma de aprender
senão executando.
For - Exemplo 1
For - Exemplo 2
Onde comando_1, comando_2 e comando_3 poderiam realizar ações sobre os arquivos .txt do diretório.
For - Exemplo 3
Esse script lista os arquivos .sh do diretório do seu script.
For - Exemplo 4
Nesse Script temos os valores das variáveis de teste explícitos no loop:
ACHOU O ÚLTIMO SCRIPT DO EXEMPLO 3 CONFUSO? CONSTRUA
OUTRO SCRIPT QUE LISTE OS ARQUIVOS COM EXTENSÃO.CONF
DENTRO DO DIRETÓRIO /ETC. TENTE RESOLVER O PROBLEMA E OLHE
A RESPOSTA DEPOIS.
Resposta Correta
While (enquanto)
O while testa uma condição no início de um laço e �ca em loop enquanto essa condição for verdadeira.
Ao contrário do laço for, o while é utilizado em situações onde o número de repetições do laço não é conhecido de
antemão.
A lógica do comando é:
Para o correto funcionamento é fundamental que:
• A variável de controle (o x do exemplo) seja inicializada; e 
• A variável de controle seja alterada para que em algum momento a condição deixe de ser verdadeira e o loop
(glossário) se encerre.
Exemplos de utilização do while:
Until (até)
O until testa por uma condição no início de um laço e �ca em loop enquanto essa condição for falsa (seu teste na
variável de controle é o oposto do while).
Sua sintaxe é:
Exemplo de utilização do until:
ATIVIDADE
Utilizando Estruturas de Repetição desenvolva um script que faça uma contagem regressiva de 10 até 1:
• Há o risco de criar um loop in�nito, se sua variável de controle não for alterada. Não se desespere, isso acontece com
todo mundo. Basta digitar CTRL + z, editar o arquivo e recomeçar. 
• Para o script ir mais devagar insira o comando sleep 1, que o programa dá uma parada de 1 segundo.
Não adianta ver apenas a solução, tente realizar o trabalho sozinho.
Resposta Correta
EXERCÍCIOS
1. No Script:
O que aparece como resposta na tela?
8
Soma = 5+3
Soma = 8
“Soma =” $c
“Soma = “$a +$b
Justi�cativa
2. No Script:
Qual a ação realizada?
Sobrescreve o conteúdo de /etc.
Exibe os arquivos .conf em /etc.
Lista os arquivos no diretório do script.
Exibe os valores inteiros de i, de 0 até o valor de conf.
Não exibe nenhum valor.
Justi�cativa
3. Complete a lacuna no Script abaixo para que ele exiba os inteiros entre 10 e 1:
let n=n-1
gt=gt+1
gt+=1
n=n+1
$n = gt + 1
Justi�cativa
4. No script abaixo o que será exibido na tela:
10 9 8 7 6 5 4 3 2 1 0
10 9 8 7 6 5 4 3 2 1
a
$a
Nenhuma resposta
Justi�cativa
5. Em relação aos “loops” while e until, podemos dizer que:
No while não há possibilidade de ocorrer loop in�nito.
Until mantém o loop por uma sequência de valores pré-de�nidos.
While �ca em loop até a variável de controle tornar-se falsa.
Until e while são equivalentes.
A condição do until não necessita de variável de controle.
Justi�cativa
Glossário
JÁ OUVIU FALAR DE LOOP INFINITO?
Basta esquecer de incrementar ou decrementar a variável de controle.
Aconteceu com você? Não se preocupe, digite CTRL + z para parar o script, edite o código fonte e continue tentando.
Vamos agora à sintaxe:

Outros materiais