Automatize o Linux com Scripts Bash: Guia Completo para Iniciantes

Foto do autor

By luis

Dominar o uso de scripts Bash é uma competência valiosa para qualquer utilizador do Linux. Mesmo para quem está a começar, esta habilidade pode ser crucial para otimizar o seu sistema e evitar tarefas manuais repetitivas. Este artigo tem como objetivo guiar os utilizadores na criação de scripts Bash, permitindo automatizar tarefas no Linux e assumir o controlo da sua área de trabalho. Vamos explorar os conceitos básicos de scripts com o shell Bash, entender o que define um script, como executá-lo no sistema, o significado de shebangs e muito mais!

Diversidade de Scripts

Existem diversas modalidades de scripts, sendo as mais comuns aquelas com extensões SH e BASH. A extensão do ficheiro é crucial, pois indica ao interpretador como executar o script. Um ficheiro com a extensão SH pode ser executado em qualquer shell, não se limitando ao Bash. Assim, um script desenvolvido para Bash no Linux poderá também ser executado em Mac, BSD e outros sistemas com shells semelhantes.

Por outro lado, scripts com extensão BASH são desenhados especificamente para serem executados no Bash. Um script com esta extensão não funcionará no shell Fish, por exemplo, ou em qualquer outro shell similar disponível.

O Papel do Shebang

Alguns scripts não utilizam extensões de ficheiro, recorrendo a um shebang para indicar ao interpretador a finalidade do script e como executá-lo. O shebang é sempre a primeira linha do script. A sua ausência pode impedir a execução do script, especialmente quando não é usada nenhuma extensão.

Embora os shebangs possam ser complexos, os iniciantes podem concentrar-se na versão padrão: #!/bin/bash. Outras opções serão mais relevantes para utilizadores avançados que desenvolvem ferramentas Bash mais sofisticadas.

Construindo um Script Bash

É importante não confundir scripts Bash com programação. O principal objetivo de um script Bash é concatenar comandos, permitindo realizar operações complexas sem ter de inserir cada comando individualmente no terminal. Se o objetivo é a programação avançada, outras linguagens como Python são mais adequadas para o Linux.

Para iniciar, abra o terminal e digite:

nano meu_primeiro_script_bash

Isto abrirá o editor de texto Nano. Insira o shebang no início do ficheiro:

#!/bin/bash

A partir deste ponto, pode adicionar os comandos que deseja. Por exemplo, para um sistema Ubuntu, um script de atualização pode ser:

sudo apt update; sudo apt upgrade -y

Outro exemplo, para monitorizar a velocidade da rede em segundo plano:

ping google.com

Sinta-se à vontade para adicionar os comandos que considerar necessários e explorar a criatividade!

Após inserir os comandos, guarde o ficheiro no Nano usando CTRL + O.

Agora, é necessário ajustar as permissões do script. No terminal, digite:

sudo chmod +x meu_primeiro_script_bash

Executando Scripts

Para executar um script shell, abra o terminal e use:

sudo sh script.sh

Para executar um ficheiro bash, use:

sudo bash script.bash

Em alternativa, qualquer script, independentemente da extensão, pode ser executado com ./nome_do_ficheiro no terminal.

Todas as abordagens funcionam, mas usar ./nome_do_ficheiro requer que o script tenha as permissões corretas. Para conceder estas permissões, use:

sudo chmod +x script

Transformando o Script num Binário

Para executar o script apenas inserindo o seu nome no terminal, é necessário transformá-lo num binário. Primeiro, use o comando chmod para torná-lo executável:

sudo chmod +x

Depois de marcado como executável, mova o script para um local acessível no caminho do utilizador, como /usr/bin/, utilizando o comando MV. Se desejar manter uma cópia do script, use o comando CP.

sudo mv /caminho/para/o/script /usr/bin/

ou

sudo cp /caminho/para/o/script /usr/bin/

Agora, pode executar o script digitando o seu nome no terminal, independentemente da localização. Por exemplo, se criou um script de extração do YouTube e o colocou em /usr/bin/, poderá executá-lo digitando:

script_youtube

E é tudo!

Conclusão

Aprender a linguagem Bash é uma competência fundamental. Sem ela, administradores de sistema e entusiastas do terminal teriam de executar tarefas repetitivas manualmente. Com scripts Bash, é possível automatizar tarefas no Linux, otimizando processos complexos e executando-os rapidamente.

Quanto mais conhecimento tiver sobre o shell, mais compreenderá o funcionamento interno do seu sistema Linux. A automatização de tarefas com Bash permite melhorar a eficiência do seu sistema. O céu é o limite com o Bash, basta um pouco de criatividade!