Aprendendo a melhorar os seus scripts

Qual é o processo de pensamentos que leva uma pessoa a criar um script para fazer tarefas longas e cansativas em tarefas simples e rápidas? Nesse artigo eu quero levar você para dentro do cérebro de um criador de scripts para que você possa pensar como um programador e criar os seus próprios scripts de uma forma eficaz e elevar o nível para avançado. Caso você seja um novato e tem medo do terminal, esse artigo pode mudar o seu ponto de vista e te dar coragem para criar seus próprios scripts.

[ Hits: 5.991 ]

Por: M4iir1c10 em 15/05/2020 | Blog: https://github.com/mauricioph


Quebrando o processo em pequenas tarefas



- "Poxa, não entendi a pergunta anterior, você me pede para dizer como eu vou fazer uma tarefa que já descreveu o passo a passo dela...". Você pergunta.

- Pequeno Jedi, assim como quando você vai cozinhar um prato delicioso ou vai abrir uma conta bancária ou levantar um prédio. Existem nesses projetos várias tarefas que podem ser executadas em uma ordem ou em ordens diferentes, algumas tarefas serão repetidas enquanto outras podem ser executadas uma única vez.

Por exemplo, se você vai fazer uma casa e tem que comprar as portas dessa casa, não vai até a loja de materiais de construção e quando chegar a sua vez de ser atendido você diz: "Me vende umas portas para a minha casa".

Primeiro você tem que ver onde as portas serão colocadas e quantas portas você vai precisar, qual lado a porta vai abrir, qual é o tipo de fechadura que será utilizada... enfim, é isso que acontece quando você vai criar um programa ou um script, assim que pensa na tarefa aparecem os detalhes e coisas inesperadas, principalmente se você é novato e não tem experiência, essas barreiras para a criação do seu script podem ser o buraco que muitos caem e desistem.

Por isso depois de ter na sua mente a ideia do que precisa fazer, divida essa tarefa em pedaços, assim se algo mudar no futuro e seu script não funcionar, pelo comportamento dele você terá uma ideia de onde no código você tem que ajustar.

Por exemplo, em seu pensamento algo que é óbvio como ir a uma determinada página e clicar em um link, algo super simples, mas ao fazer um script que vai executar essa tarefa você deve entender que o computador é burro, ele não sabe pensar, ele só obedece. Quando um link mudar o script não vai saber que mudou. Portanto você tem que ensinar ele a pensar com as instruções no seu script.

Vamos voltar ao problema que eu falei na página anterior e vamos analisar o que vou precisar para alcançar meu objetivo.

1. Baixar o servidor mais atual

Para fazer isso vamos à página do Emby, nesta página clicamos em Download, na sessão de servidor clicamos em Linux. Abrimos então a página: https://emby.media/linux-server.html

Nesta página há uma caixa de menu que mostra as distribuições disponíveis. Minha versão como eu já mencionei é a Debian, 64 bits.

Entre as várias versões e instruções disponíveis no site, a que importa para mim é essa:

Debian X64:

1. Download emby-server-deb_4.4.2.0_amd64.deb
2. dpkg -i emby-server-deb_4.4.2.0_amd64.deb
3. Open a web browser to http://localhost:8096

Nessa lista de instruções eu já tenho uma dica de um dos comandos que eu vou precisar no segundo item: "dpkg -i pacote.deb". Mas vamos deixar isso para depois...

No link acima temos a url:
Nessa url vemos o seguinte formato:

github.com/MediaBrowser/Emby.Release/releases/Download/VERSÃO/emby-server-deb_VERSÃO_amd64.deb

Onde eu mudei os números para versão significa que cada vez que uma versão nova aparecer, esses números serão diferentes. Se você nunca escreveu um script antes, isso é uma variável, ou seja, sempre existe a possibilidade de mudança em variáveis. Variáveis são definidas em bash por nome = valor e quando chamadas escrevemos $nome. Então sabendo a versão, podemos baixar a próxima assim que disponível.

2. Vamos entender como fazemos para parar e iniciar serviços no Debian. Os serviços do sistema são programas que ficam rodando nos bastidores do computador, esperando você interagir com eles. O Debian gerencia esses serviços com o systemd. O comando para iniciar e terminar um serviço é basicamente o seguinte:

# systemctl start serviço
# systemctl stop serviço


Com isso voltamos a nossa lista de tarefas e vemos o seguinte:

A primeira tarefa já temos o comando para isso, a segunda também, a terceira descobrimos durante a nossa busca pela primeira, lembra na própria página de download do servidor? E a quarta tarefa já expliquei aqui.

[x] Baixar o servidor mais recente no formato deb para o meu servidor Debian.
[x] Parar o servidor
[x] Instalar o pacote mais recente
[x] Reiniciar o servidor

Então, vamos ao script?

Página anterior     Próxima página

Páginas do artigo
   1. Tudo começa com o problema
   2. Quebrando o processo em pequenas tarefas
   3. Primeiras linhas
   4. Procurar, procurar e procurar comandos
   5. Melhorando o script
Outros artigos deste autor

Enfeite o LILO com uma imagem de seu gosto

Colocando Windows, Linux e Mac Os X em um mesmo PC

Máquina Enigma e encriptação em XOR

Codificação e decodificação entre ASCII, hexadecimal e unicode

5 comandos que ninguém nunca deve executar no Linux

Leitura recomendada

getopts: criando scripts Bash com parâmetros e argumentos personalizáveis

cal2svg - brincando com shell script e arquivos vetoriais SVG

Monitorando servidores pelo celular

ShellBot - Crie Bots para Telegram em Shell Script

Redundância de link de internet

  
Comentários
[1] Comentário enviado por Mc.Eagle em 15/05/2020 - 10:57h

Uma excelente aula de script, eu já me aventurei a fazer alguns que uso diariamente, porém não tenho a "base", até comprei alguns livros sobre o assunto mas confesso que as "distrações" do dia a dia tem me distanciado do objetivo. Mas realmente está sendo uma aula esse artigo. Força e honra!

[2] Comentário enviado por maurixnovatrento em 15/05/2020 - 16:26h


Tá bom demais. Muito bom mesmo. Método muito bem estratégico.

___________________________________
Conhecimento não se Leva para o Túmulo.

[3] Comentário enviado por eduardo em 18/05/2020 - 13:46h

Artigo sensacional! Parabéns!
Ensinar o "caminho das pedras" não é negativo, mas necessário. É melhor aprender como se chegou à conclusão do que ter a resposta pronta :)

[4] Comentário enviado por maurixnovatrento em 28/05/2020 - 14:07h


[3] Comentário enviado por eduardo em 18/05/2020 - 13:46h

Artigo sensacional! Parabéns!
Ensinar o "caminho das pedras" não é negativo, mas necessário. É melhor aprender como se chegou à conclusão do que ter a resposta pronta :)


Isso é verdade! Já até estou usando esse estilo de programação. Faz diferença mesmo.



[5] Comentário enviado por amaurybsouza em 31/05/2020 - 14:41h

Ficou massa demais, método de explicação eficiente e bem didático! Top.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts