Buscar

LiguagemProgramacao_Complemento

Prévia do material em texto

26/08/2014
1
PROGRAMAÇÃO PARA SERVIDORES
Adaptado do Professor Msc. Raul Benites Paradeda
AULA 01
Sumário
Linguagens
Interpretadas X 
Compiladas
Quando 
utilizar shell 
script?
Exemplos de 
shell script
Observações
Discussão
O que é 
shell?
O que é 
shell 
script?
Prof. Márcio Rodrigo
Advanced 
Bash-
Scripting 
Guide
Vantagens 
do shell 
script
Unused 
Section 
Space 1
Unused 
Section 
Space 2
Unused 
Section 
Space 3
Unused 
Section 
Space 4
Unused 
Section 
Space 5
Unused 
Section 
Space 6
Unused 
Section 
Space 7
U
n
u
s
e
d
S
e
c
t
i
o
n
S
p
U
n
u
s
e
d
S
e
c
t
i
o
n
S
p
U
n
u
s
e
d
S
e
c
t
i
o
n
S
p
a
U
n
u
s
e
d
S
e
c
t
i
o
n
S
U
n
u
s
e
d
S
e
c
t
i
o
n
S
� Linguagens Interpretadas X Compiladas;
� O que é shell?
� O que é shell script?
� Vantagens da programação shell script;
� Quando utilizar shell script?
� Exemplos de shell script;
� Obervações;
� Discussão;
� Livro “Advanced Bash-Scripting Guide”.
26/08/2014
2
[Linguagens Interpretadas 
X Compiladas]
� Alguém se lembra????
26/08/2014
3
� Linguagem de programação que é convertida para 
linguagem de máquina por meio de compilação ou 
interpretação.
� Quais as características das linguagens compiladas?
26/08/2014
4
� Quais as características das linguagens 
interpretadas?
[O que é shell?]
26/08/2014
5
� Shell é a linha de comando do Linux (e Unix).
� Alguns autores consideram o Shell como um 
programa, ou melhor, um interpretador, pois é ele 
que executa (interpreta) os comandos digitados pelo 
usuário no terminal ou no programa respectivo.
� Outros, informam que o Shell é um programa que 
faz o meio campo entre o kernel do SO e o usuário.
� O Shell é responsável por abrir os programas 
solicitados pelo usuário no terminal.
� Além de executar os comandos do sistema, o Shell 
tem seus próprios comandos, como: IF, FOR, While, 
dentre outros. Inclusive a possibilidade de criar 
variáveis!
� Também apresenta uma variedade de funções pré-
definidas, tudo para facilitar a chamada de 
comandos.
26/08/2014
6
� Resumindo, o shell pode ser definido como o 
interpretador de comandos utilizado nos sistemas 
Linux e Unix.
� Existem várias implementações de Shell, a mais 
conhecida é a bash.
� Deve-se tomar cuidado, pois cada implementação 
possui estruturas e comandos próprios que os 
diferenciam.
� Além disso, cada Shell oferece uma facilidade para 
realizar um reaproveitamento de comandos e 
manipulação da linha de comandos.
26/08/2014
7
� O Shell apresenta características de linguagens de 
programação, como já mencionado os comandos IF, 
For e While.
� Por esse motivo, o Shell se torna uma poderosa 
ferramenta para a criação de scripts e de programas 
que facilitam o cotidiano.
� Podemos criar pequenos scripts de 10 linhas por 
exemplo, até programas complexos.
� Pelo motivo da grande interação com o Sistema 
Operacional, faz com que o Shell se torne uma 
poderosa ferramenta para o desenvolvimento de 
programas.
26/08/2014
8
� Por exemplo, pode-se criar interfaces interativas 
com o usuário, manipulação de banco de dados, 
rotinas de backup, gerenciamento da rede, e muito 
mais.
� Um exemplo, é procurar dentro de todos os arquivos 
.txt uma determinada palavra:
$ grep -s paradeda /etc/*.txt
� Exemplo pra monitorar logs do squid, exibir somente os dados 
do IP 192.168.10.40. 
$ tail -f /var/log/squid/access.log | grep 192.168.10.40
[O que é shell script?]
26/08/2014
9
� Os Shell Scripts são arquivos que contém os 
comandos pertencentes ao Shell.
� São muito utilizados para facilitar a vida do usuário, 
fazendo com que tarefas repetidas várias vezes 
possam ser realizadas de maneira mais rápida.
� Pode-se criar scripts para automatizar as tarefas 
diárias de um servidor, para efetuar backup 
automático regularmente, procurar textos, criar 
formatações, e muito mais.
[Vantagens do shell script]
26/08/2014
10
� Depois dessa explicação alguém, poderia me 
informar qual as vantagens do Shell Script? 
� Trabalha melhor que outras linguagens pois está 
ligada diretamente ao SO.
� Agiliza as atividades dos usuários, principalmente 
quando há comandos que são repetidos a todo 
momento.
� Não precisam ser compilados, basta criar um 
arquivo de texto qualquer, e inserir comandos a ele.
26/08/2014
11
� Mas como um arquivo de texto comum vai ser 
diferenciado de um Shell Script?
� Para isso devemos inserir na primeira linha do 
arquivo o seguinte comando:
#!/bin/bash
� Em seguida, precisamos torná-lo executável com o 
comando chmod.
$ chmod +x arquivo.extensao
� Depois é só executá-lo:
$ ./arquivo.extensao
26/08/2014
12
[Quando utilizar shell
script?]
� Recomenda-se o uso de Shell Script quando:
� Um procedimento complexo que se usa muitas linhas 
de comando;
� Um procedimento o qual muitos usuários poderão se 
beneficiar;
� Um comando simples usado muitas vezes;
� Uma tarefa em uma data planejada;
� Integrar informações de vários sistemas diferentes.
26/08/2014
13
� O Shell pode trabalhar com grandes quantidades de 
informações, então porque gastar um tempão 
procurando determinadas informações em arquivos?
� Utilizando o Shell pode-se achar as informações de 
forma automatizada e rápida.
� E se essa procura for constante?
� Então cria-se um Shell Script dos comandos 
utilizados no Shell para realizar a procura.
� De acordo com uma pesquisa, um programador 
médio pode duplicar ou triplicar a produtividade com 
a utilização de Shell Script.
� Comparativo:
� Shell 1 linha de código
� LPOO 10 linhas de código
� C 100 linhas e código
26/08/2014
14
[Exemplos de shell script]
#!/bin/bash
echo "Escreva qualquer coisa:“
read texto
echo "Foi digitado isso: $texto"
26/08/2014
15
#!/bin/bash
pwd
ls -l 
echo "fim do script."
[Observações]
26/08/2014
16
� Para quem quer utilizar o Windows e programar em 
Shell não tem problemas, apenas algumas 
observações:
1. Ao criar um Shell Script no bloco de notas ou 
qualquer outro editor, automaticamente é usado o 
comando invisível ‘\r’ para realizar a quebra de 
linha. Dessa forma, antes de executar o script é 
necessário utilizar o comando:
1. $ dos2unix arquivo.extensao
2. Existem alguns programas que colocam as 
funcionalidades do Linux no Windows, o mais 
conhecido é o CygWin.
[Discussão]
26/08/2014
17
� Depois de conhecer um pouco mais o Shell Script, 
quais as desvantagens e vantagens de se utilizar, 
será que vale a pena?
[Advanced Bash-Scripting
Guide]
26/08/2014
18
� O livro “Advanced Bash-Scripting Guide”, de autoria 
de Mendel Cooper.
� Trata-se de um livro livre sobre programação bash
cujo download pode ser feito a partir de 
“http://tldp.org”.

Outros materiais