Buscar

Aula6de 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 24 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 24 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 24 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
Prof. M. Sc. Isac Ferreira
isacfernando@gmail.com
Roteiro
• Funções
• Expressões Regulares
Funções
funcao ( )
{
comando1
comando2
comandoN
}
Exemplo
#!/bin/bash
function BoasVindas(){
echo -e "\n\nSeja Bem Vindo $1 \n\n"
} 
echo -n "Digite seu nome: "
read NOME
BoasVindas "$NOME"
Exemplo complicado [1/3]
#!/bin/bash 
opcao=true 
function Pause() {
tempo=true
while [ $tempo ]; do
echo -ne "\nPressione ENTER para 
prosseguir...“
read tempo
done
} 
Exemplo complicado [2/3]
function Tabuada(){
if [ -z $1 ] || [ $1 -gt 10 ]; then
echo –e "\nTabuada $1 não existe...."
return 0
fi
if [ $1 == 0 ] || [ $1 == -0 ]; then
echo -e "\n\nOperação cancelada...."
exit 0
fi
echo -e "\nTabuada de $1:" 
for contador in `seq 1 10`
do
resultado=`expr $contador \* $1`
echo "$1 x $contador = $resultado"
done
} 
Exemplo complicado [3/3]
while [ $opcao ]
do
echo -ne "\nInforme a tabuada que deseja visualizar [ 1 
a 10] ou 0 para sair: "
read opcao
Tabuada $opcao
Pause
clear
done
De forma Organizada...
Declaração de Variáveis
Globais
Área de Especificações 
das Funções
Corpo do Programa
Expressões Regulares
Expressão regular é um método formal de especificar um 
padrão de texto.
É uma composição de símbolos, caracteres com funções 
especiais que, agrupados entre si e com caracteres literais, 
formam uma sequência, uma expressão. Essa expressão é 
interpretada como uma regra, que indicará sucesso se 
uma entrada de dados qualquer casar com essa regra, ou 
seja, obedecer exatamente a todas as suas condições.
Para que servem?
• Ditester algo abrangente de forma específica;
• [rgp]ato
• Validar padrões como:
• Data, horário, número IP, nome de pessoa, email, telefon, RG, 
CPF, cartão de crédito, começo e fim de linha
Metacaracteres
Metacaracter Nome
. Ponto
[] Lista
[^] Lista Negada
? Opcional
* Asterisco
+ Mais
{} Chaves
Metacaracter Nome
^ Circunflexo
$ Cifrão
\b Borda
\ Escape
| Ou
() Grupo
\1 Retrovisor
Divisão de Metacaracteres
• Representantes:
Metacaractere Nome Função
. Ponto Um caractere 
qualquer
[...] Lista Lista de caracteres 
permitidos
[^...] Lista negada Lista de caracteres 
proibidos
Divisão de Metacaracteres
• Quantificadores
Metacaractere Nome Função
? Opcional testero ou um
* Asterisco testero, um ou mais
+ Mais Um ou mais
{n,m} Chaves De n até m
Divisão de Metacaracteres
• Âncoras:
Metacaractere Nome Função
^ Circunflexo Início de linha
$ Cifrão Fim de linha
\b Borda Início ou fim de 
palavra
Divisão de Metacaracteres
• Outros:
Metacaractere Nome Função
\c Escape Torna literal o 
caractere c
| Ou Ou um ou outro
(...) Grupo Delimita um grupo
\1 ... \9 Retrovisor Texto casado nos 
grupos 1...9
Metacaracteres especiais
• \s - um “white space”, exemplo: um espaço ou tab
• \w - um alfanumérico incluindo o '_'
• \d - um digíto
• \S - qualquer caractere que não seja um 'white-space'
• \W - qualquer caractere que não seja um alfanumérico ou 
'_'
• \D - qualquer caractere que não seja um dígito
• . - qualquer caractere exceto o newline
• \n - new line
• \t - tab
• \r - carriage return
Exemplo 1
Expressão 
Regular
Primeira 
ocorrência
Todas 
Ocorrências
Comentário
tr três tristes tigres três tristes tigres Qualquer tr
tr|ti|te três tristes tigres três tristes tigres Quaquer tr, ti ou 
te
t(r|i|e) três tristes tigres três tristes tigres Qualquer t 
seguido de r ou i 
ou e
tr? três tristes tigres três tristes tigres Qualquer t 
seguido ou não 
de r
t(r|i)? três tristes tigres três tristes tigres Qualquer t
seguido ou não 
de um r ou 
s+ temos o essencial temos o essencial 1 ou mais s
s*i necessita disto necessita disto 0 ou mais s 
seguido de i
Exemplos 2
Expressão 
Regular
Primeira 
ocorrência
Todas 
Ocorrências
Comentário
w{3} www.up.pt
www.w3.org
www.up.pt
www.w3.org
Qualquer 
sequência de 3 w
w{2,} w.up.pt
ww.www.org
w.up.pt
ww.www.org
Qualquer 
sequência de 2 ou 
mais w
w{1,3} wwww.up.pt
ww.www.org
wwww.up.pt
ww.www.org
Qualquer 
sequência com um 
número de w maior 
ou igual a 1 e 
menor ou igual a 3
\w O resultado foi 75-
80
O resultado foi 75-
80
Qualquer 
alfanumérico
\d O resultado foi 75-
80
O resultado foi 75-
80
Qualquer dígito
\D O resultado foi 75-
80
O resultado foi 75-
80
Qualquer não 
dígito
Exemplos 3
Expressão Regular Primeira 
ocorrência
Todas Ocorrências Comentário
i 7 O resultado foi 75-
80
O resultado foi 75-
80
Sequencia de i 
seguido de branco e 
7
(lenta)(mente) é \2 
\1
Lentamente é mente 
lenta
Lentamente é mente 
lenta
Palavra lentamente 
seguida de é mente 
e lenta
[aeiou] Aqui temos vogais Aqui temos vogais qualquer um dos 
caracteres
[A-Z0-9] O Resultado foi 75-
80
O Resultado foi 75-
80
entre A e Z ou entre 
0 e 9
[^O-Zo-z\-] O Resultado Foi 75-
80
O Resultado Foi 75-
80
Qualquer caracter
exceto de O a Z ou 
de o a z ou -
. Estes são Estes são qualquer caractere 
exceto o newline
^. Estes são Estes são qualquer caractere 
exceto o newline no 
início da linha
Exemplos 4
Expressão Regular Primeira 
ocorrência
Todas Ocorrências Comentário
.$ Estes são Estes são Qualquer caracter
exceto o newline, no 
fim da linha
^$ Uma linha/string
vazia
plica(do)? Mais complicado 
complicadíssimo
Mais complicado
complicadíssimo
Sequência plica 
seguida de do
^(\d{1,3}\.){4}$ 192.168.0.20. 192.168.0.20. 4 Sequências de 1 a 
3 dígitos seguidos 
de . Que compõem 
uma linha
\d[a-z]+ 3,0a,5dc,8abde 3,0a,5dc,8abde Dígito seguido de 1 
ou + caracteres de a 
até z
\bdia\b dia, bom-dia! dia, bom-dia! Palavra dia com 
palavras antes e 
depois
Mais importantes!
Metacaracter Nome Posicionamento
^ Circunflexo Representa o começo da 
linha
$ Cifrão Representa o fim da 
linha
[abc] Lista a ou b ou c
[a-d] Lista a ou b ou c ou d
[^abc] Lista negada Qualquer exceto a, b ou 
c
(esse|aquele) Ou esse ou aquele
a{2} Chaves Letra a 2 vetestes
a{2,4} chaves a de 2 a 4 vetestes
a{2,} Chaves a no mínimo 2 vetestes
Mais importantes!
Metacaracter Nome Posicionamento
a? Opcional Letra a 0 ou mais vetestes
a* Asterisco Casa a letra a 0 ou mais
a+ Mais Casa a 1 ou mais
. Ponto Casa um caractere
qualquer
.* Curinga Qualquer coisa, tudo ou 
nada
Exercício
Validar datas:
13/05/2004 45/04/2003 22/06/1967
02/08/1995 17/09/1068 22/27/1990
12/02/2405 123/02/2000 12/124/2005
06/04/27 13-05-2004 45-04-2003
22-06-1967 17-09-1068 02-08-1995
22-27-1990 12-02-2405 123-02-2000
12-124-2005 06-04-27 13.05.2004
45.04.2003 22.06.1967 17.09.1068
22.27.1990 02.08.1995 12.02.2405
05..02.2000 12.124.2005 06.04.27
Exercício
• Validar email:
teste
teste@teste
teste@teste.com
teste@teste.com.br
teste@teste.br
teste.teste@teste
teste.teste@teste.co.uk
teste@teste.com.com
teste@
teste_teste@teste.com
teste-man@teste.com.br
@teste.com
teste-cezar_teste@antena.com.oque

Continue navegando