Programação em Ambientes de Redes de Computadores: Fernanda Rosa Da Silva
Programação em Ambientes de Redes de Computadores: Fernanda Rosa Da Silva
EM AMBIENTES DE
REDES DE
COMPUTADORES
Introdução
Administradores de sistema ou até mesmo usuários comuns algum dia
precisaram criar um script simples ou abrangendo funcionalidades mais
complexas. Isso pode ser feito com o uso da linguagem Shell Script, que,
como vantagem, consegue garantir a necessidade de menor tempo e
esforço em determinadas tarefas.
Neste capítulo, você acompanhará as principais utilidades de aplicação
para o Shell Script, entendendo como se pode customizar um script em
Shell no Linux e executá-lo no ambiente Linux, conhecendo também os
atributos que o caracterizam.
Usuário Shell
Unix
Saída
Sistema
operacional
Entrada
Exemplos de uso
A seguir, apresentaremos alguns exemplos de uso do Shell Script.
Automatização de backups
Manipulação de arquivos
Um script também pode ser utilizado para localizar arquivos no sistema,
facilitando a busca em casos nos quais a estrutura do sistema é muito extensa
e é necessário executar essa tarefa com frequência.
Contudo, conforme Arruda (2014), o Shell Script não é apenas definido
por uma sequência de comandos, podendo utilizar características comuns às
linguagens de scripts, como condições e variáveis, além de ser possível usá-lo
para redimensionar um lote de fotografias, compactar arquivos de log e limpar
erros de um arquivo de texto sem a necessidade de refazê-lo, indicando no
script que o arquivo seja todo substituído por outro em branco.
Como o Shell Script utiliza o sistema de arquivos do Unix, pode ser utilizado
para manipular arquivos, organizar arquivos em pastas e fazer uso direto da
hierarquia de diretórios e arquivos gerando qualquer informação do sistema
que se possa imaginar.
Renomear arquivos e diretórios e criar e excluir arquivos em lote, tarefas
rotineiras que não exigem muito esforço, também se tornam mais fáceis com
o uso de Shell Script, visto que o administrador pode listar todos os arquivos
que precisam sofrer essas alterações, adicionando as informações a um script
e rodando-o no sistema, sem precisar renomear cada arquivo manualmente,
o que acarretaria muito tempo perdido.
Introdução ao Shell Script Linux 5
Tarefas administrativas
Todas as tarefas que incluam funções do sistema, como gerenciamento de
pacotes, criação de usuários e atribuição de permissões, podem ser realizadas
com o uso de Shell Script no Linux.
A seguir, você pode observar outros cenários de uso, que, apesar de mais
completos, são totalmente possíveis com o uso de Shell Script personalizados.
Scripts de deploy
Provisionamento de máquinas
Modo interativo
Trata-se daquele no qual o usuário de fato interage com a tarefa em questão,
como no caso do script em que informações necessárias são digitadas pelo
usuário e recebidas pelo Shell para a finalidade a que se aplica (NASCIMENTO;
GERSTENBERGER, 2013).
A Figura 3 demonstra um exemplo simples de Shell Script em modo inte-
rativo, que solicita o nome do usuário e o imprime na tela.
Modo automatizado
Já o uso do Shell Script de maneira automatizada deve ser considerado quando
nenhum tipo de dado precise ser digitado, geralmente em procedimentos
complexos que usam muitas linhas de comando, na maioria das vezes com
um horário de execução definido, planejados previamente ou interagindo, por
exemplo, com o sistema operacional para sua execução (NASCIMENTO;
GERSTENBERGER, 2013).
Alias
Em relação à customização, o Shell Script possibilita a criação de alias para
personalizar o ambiente e facilitar o uso dos comandos quando do emprego
de scripts. De acordo com Newham (2005), aliases são apelidos que o admi-
nistrador pode atribuir a um comando existente, a fim de nomear as funções
de modo mais fácil, utilizados dentro dos scripts quando de sua criação.
Variáveis
Assim como ocorre com o uso de alias para personalização do ambiente,
o emprego de variáveis, bastante comum em scripts de Shell, permite associar
um valor a elas. Uma particularidade quanto ao uso da programação de scripts
em Shell em relação às demais reside no fato de que não é necessário declarar
o tipo de variável permitido, como: string, inteiro, decimal, etc.
Arquivos especiais
Existem três arquivos no diretório pessoal de cada usuário com funções
especiais e que fornecem opções para configurar o ambiente de modo inde-
pendente para cada uma das contas utilizando a linguagem Shell Script, a fim
de estabelecer parâmetros capazes de personalizar a execução de um script
dentro do Shell do Linux (NEWHAM, 2005), conforme descrito a seguir.
.bash_profile
Trata-se do arquivo mais importante, pois é executado pelo Bash, toda vez em
que o usuário faz login no sistema operacional. Para acessá-lo, basta executar
nano .bash_profile ou apenas nano .profile.
Introdução ao Shell Script Linux 9
Esse arquivo armazena todos os comandos que você precisa que sejam
executados logo na inicialização, compreendendo um script programado para
rodar a cada login do usuário realizando uma tarefa específica, por exemplo,
executar um serviço sempre que o usuário acessar sua conta, abrir uma planilha
automaticamente, mapear uma unidade, etc.
.bash_logout
Arquivo lido e executado toda vez que o usuário finaliza sua seção, pode ser
utilizado para complementar a personalização do ambiente (NEWHAM,
2005). Com ele, podemos definir ações como remover arquivos temporários
quando da finalização das tarefas ou registrar o tempo total em que a conta
esteve ativa durante o uso ou qualquer outra informação relevante sobre a sua
conta em relação ao que foi executado durante a sessão.
bashrc
Por esse arquivo, que é oculto e localizável pelo usuário no seu diretório
/home/usuário/.bashrc, podemos realizar algumas alterações e per-
sonalizar o uso do terminal, fazendo alterações que customizam o Bash (ter-
minal), como configurar ou ativar cores diferentes para a janela do terminal,
personalizar propriedades do histórico do Shell, configurar alias de comando,
entre outras funções mais bem entendidas quando de sua análise.
Nesse caso, ao utilizar o comando ls, que, por sinal, já é curto, o comando chamado
será ls –color, que lista, porém, colorindo os caracteres.
10 Introdução ao Shell Script Linux
Código Alteração
1 Negrito
4 Sublinhado
31 Fonte vermelha
34 Fonte azul
43 Fundo amarelo
44 Fundo azul
$ echo -e "\033[31;1mColorindo_o_codigo"
Parâmetros de entrada
O Shell Script consegue receber valores por meio de variáveis-padrão, definidas
pelo sistema para facilitar a criação do código, como:
Os comentários não são apresentados como saída no script, podendo ser visualizados
apenas internamente.
ARRUDA, F. Introdução ao Shell Script. Canaltech, São Bernardo do Campo, 2 jun. 2014.
Disponível em: https://canaltech.com.br/linux/Introducao-ao-Shell-Script/. Acesso
em: 19 jul. 2020.
DELYRA, J. L. Pipeline. Instituto de Física da Universidade de São Paulo, São Paulo,
25 abr. 2002. Disponível em: http://latt.if.usp.br/fma215/apostilas/aula-06/node4.
html. Acesso em: 19 jul. 2020.
GLAUCO, T. Linux Shell Essentials. DevMedia, Rio de Janeiro, 2011. Disponível em: https://
www.devmedia.com.br/linux-shell-essentials/20158. Acesso em: 19 jul. 2020.
JARGAS, A. M. Shell script professional. São Paulo: Novatec, 2008. 480 p.
LOUSADA, F. B. Introdução ao Shell Script no Linux. DevMedia, Rio de Janeiro, 2015. Dis-
ponível em: https://www.devmedia.com.br/introducao-ao-shell-script-no-linux/25778.
Acesso em: 19 jul. 2020.
MAZIERO, C. A. Departamento de Informática da Universidade Federal do Paraná, Curitiba,
5 ago. 2019. UNIX: Shell scripts. Disponível em: http://wiki.inf.ufpr.br/maziero/doku.
php?id=unix:shell_scripts. Acesso em: 19 jul. 2020.
MULINARI, J. A. Shell de backup incremental. Dicas-L, Jaguariúna, 23 jul. 2005. Dispo-
nível em: https://www.dicas-l.com.br/arquivo/script_shell_de_backup_incremental.
php. Acesso em: 19 jul. 2020.
NASCIMENTO, I.; GERSTENBERGER, P. Introdução ao Shell Script. Infra Magazine, Rio de
Janeiro, n. 12, 2013. Disponível em: https://www.devmedia.com.br/introducao-ao-
-shell-script-revista-infra-magazine-12/28607. Acesso em: 19 jul. 2020.
NEWHAM, C. Learning the bash shell: Unix shell programming. 3. ed. Sebastopol: O’Reilly,
2005. 352 p.
OLIVEIRA, M. Dicas úteis para Shell Script. Terminal Root, Londrina, 19 dez. 2014. Dis-
ponível em: https://terminalroot.com.br/2014/12/dicas-uteis-para-shell-script.html.
Acesso em: 19 jul. 2020.
PONTE, R. Deploy automatizado: feito é melhor que perfeito. TriadWorks – Ensino e
Formação Java, Fortaleza, 5 out. 2016. Disponível em: http://blog.triadworks.com.br/
deploy-automatizado-feito-e-melhor-que-perfeito. Acesso em: 19 jul. 2020.
REIS, F. Controle de tarefas no shell – comandos bg, fg, jobs. Bóson Treinamentos em
Tecnologia, São Paulo, 20 jun. 2013. Disponível em http://www.bosontreinamentos.com.
br/linux/controle-de-tarefas-no-shell-comandos-bg-fg-jobs/. Acesso em: 19 jul. 2020.
16 Introdução ao Shell Script Linux
Leituras recomendadas
GIMSON, M. Linux command line: fast and easy! [S. l.]: Edição do autor, 2015.
ROCHA, J. Variáveis em bash. Viva o Linux, Nova Friburgo, 3 dez. 2018. Disponível em:
https://www.vivaolinux.com.br/dica/Variaveis-em-bash. Acesso em: 19 jul. 2020.
SILVA, I. S.; SOUZA, J. M.; SANTOS, M. C. Linguagem de Programação – Shell Script.
Faculdade de Informática de Taquara, Taquara, [200-?], Disponível em: https://fit.faccat.
br/~igor/artigos/Shell.htm#. Acesso em: 19 jul. 2020.
Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun-
cionamento foi comprovado no momento da publicação do material. No entanto, a
rede é extremamente dinâmica; suas páginas estão constantemente mudando de
local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade
sobre qualidade, precisão ou integralidade das informações referidas em tais links.