🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

Introdução aos scripts Bash: Exemplos de scripts de automação simples para começar

No artigo anterior, aprendemos as "palavras" básicas (comandos) do Bash, como cd e ls. Embora digitar comandos individuais seja útil, o verdadeiro poder do Bash reside em combinar estas palavras para criar "frases" ou "histórias", e fazer com que o computador trabalhe para si automaticamente. Isto é um script Bash.

Tem tarefas tediosas e repetitivas como "preparar a mesma estrutura de pastas para cada projeto", "redimensionar múltiplas imagens de uma vez", "fazer cópias de segurança de ficheiros periodicamente"? Se aprender a fazer scripts Bash, pode fazer com que essas tarefas terminem num instante, como por magia.

Este artigo destina-se a iniciantes que já se habituaram um pouco às operações de comandos. Vamos explicar desde a forma básica de escrever um script Bash até aos fundamentos da programação como variáveis, ramificações condicionais (if) e loops (for), tudo com exemplos de scripts de automação simples que pode copiar e colar para que funcionem. Como se estivesse a escrever uma receita de culinária, vamos criar a sua própria ferramenta de automação!


1. O seu primeiro script Bash - O primeiro passo na automação

Um script Bash nada mais é do que um simples ficheiro de texto com uma sequência de comandos que quer executar em ordem. Não precisa de nenhuma ferramenta especial para o criar. Vamos criar e executar um script simples imediatamente.

Passo 1: Criar o ficheiro de script

Primeiro, crie um ficheiro de texto chamado hello_script.sh e escreva o seguinte conteúdo. É uma prática comum usar a extensão .sh para os ficheiros de script.

#!/bin/bash

# Exibe uma mensagem no ecrã
echo "Olá, bem-vindo ao mundo dos scripts Bash!"
echo "A data e hora atuais são:"
date

Pense na primeira linha, #!/bin/bash, como um "feitiço mágico". É uma linha especial (chamada shebang) que diz ao sistema: "Ei, por favor, execute este ficheiro com o Bash."


Passo 2: Conceder permissão de execução

Um ficheiro de script recém-criado ainda não é reconhecido como um "programa executável". Vamos usar o comando chmod para dar ao ficheiro permissão de execução.

$ chmod +x hello_script.sh

Passo 3: Executar o script

Tudo pronto! Vamos executar o script com o seguinte comando. O ./ significa "no diretório atual".

$ ./hello_script.sh
Olá, bem-vindo ao mundo dos scripts Bash!
A data e hora atuais são:
Dom Jul  6 09:47:45 JST 2025

Os comandos que escreveu foram executados em ordem. Este é o princípio básico de um script Bash!


2. Variáveis e argumentos - Tornando os scripts flexíveis

Um script que só consegue fazer uma coisa fixa não é muito interessante. Por isso, vamos usar "variáveis" e "argumentos" para tornar os nossos scripts mais flexíveis.

Variáveis: "Caixas" para armazenar dados

Uma variável é uma "caixa com nome" onde pode guardar os dados que quiser (cadeias de texto ou números). Define-se com o formato NOME_VARIAVEL=valor e usa-se escrevendo $NOME_VARIAVEL.

#!/bin/bash

# Armazena uma cadeia de texto numa variável chamada GREETING
GREETING="Bem-vindo/a,"
USER_NAME="Alice"

# Exibe uma mensagem usando as variáveis
echo "$GREETING $USER_NAME!"

Argumentos: Dando informação a um script a partir do exterior

É uma chatice ter de reescrever o interior de um script cada vez que o quer executar. É aí que entram os "argumentos". Este é um mecanismo para passar informação para o script a partir do exterior quando o executa. Pode receber esta informação com $1, $2, e assim por diante, por número.

Vamos criar o seguinte script chamado greet.sh.

#!/bin/bash

# Armazena o primeiro argumento do tempo de execução na variável USER_NAME
USER_NAME=$1

echo "Olá, $USER_NAME!"

Quando executar este script, fá-lo-á com um nome a seguir.


$ ./greet.sh Bob
Olá, Bob!

Como pode ver, usar argumentos torna os scripts muito mais fáceis de reutilizar.


3. Ramificação condicional com 'if' - Alterando ações com base em condições

Um conceito fundamental da programação, "se isto, então aquilo", também pode ser facilmente escrito num script Bash. Para isso, usamos uma declaração if.

Por exemplo, vamos criar um script que verifica se um ficheiro especificado existe.

#!/bin/bash

FILE_NAME=$1

# se existir um "ficheiro" com o nome $FILE_NAME, então
if [ -f "$FILE_NAME" ]; then
  echo "O ficheiro '$FILE_NAME' foi encontrado."
else
  echo "O ficheiro '$FILE_NAME' não existe."
fi

A [ -f "nome_do_ficheiro" ] é a expressão condicional que verifica, "Esse ficheiro existe?". Vamos executar este script.


Se o ficheiro existir:

$ touch sample.txt
$ ./check_file.sh sample.txt
O ficheiro 'sample.txt' foi encontrado.

Se o ficheiro não existir:

$ ./check_file.sh another.txt
O ficheiro 'another.txt' não existe.

4. Tarefas repetitivas com loops 'for' - Acabe com o trabalho tedioso

A essência da automação reside na "repetição". Se tiver de repetir o mesmo tipo de tarefa muitas vezes, deixe o computador fazê-lo por si. Para isso, o loop for é muito prático.

Vejamos um script de exemplo que cria múltiplos ficheiros HTML de uma só vez como modelo para um site.

#!/bin/bash

# Repete um processo para os nomes about, works e contact
for page in about works contact
do
  # Gera dinamicamente o nome do ficheiro e a tag H1 usando a variável da página
  FILE_NAME="${page}.html"
  TITLE_TEXT=$(echo "$page" | sed 's/./\u&/') # Pôr em maiúscula a primeira letra

  # Usa um heredoc para escrever todo o HTML de uma vez
  cat << EOF > $FILE_NAME
<!DOCTYPE html>
<html lang="pt">
<head>
  <meta charset="UTF-8">
  <title>$TITLE_TEXT Page</title>
  <style>
    body { font-family: sans-serif; line-height: 1.6; color: #333; }
    h1 { color: #0056b3; }
  </style>
</head>
<body>
  <h1>Esta é a página de $TITLE_TEXT.</h1>
  <p>O conteúdo da página $page vai aqui.</p>
</body>
</html>
EOF

  echo "Criado ${FILE_NAME}."
done

echo "Todas as páginas foram criadas!"

Este script realiza um loop para as três palavras about, works e contact, e gera um ficheiro HTML completo para cada nome. A parte de << EOF a EOF chama-se heredoc, e é útil para imprimir cadeias de várias linhas tal como estão.


Vamos executá-lo.

$ ./create_pages.sh
Criado about.html.
Criado works.html.
Criado contact.html.
Todas as páginas foram criadas!

Verifiquemos o conteúdo de um ficheiro gerado.

$ cat about.html
<!DOCTYPE html>
<html lang="pt">
...
  <h1>Esta é a página de About.</h1>
...
</html>

Brilhantemente, foram criados três ficheiros HTML, cada um com conteúdo diferente, num instante!


Conclusão

Desta vez, como primeiro passo no mundo dos scripts Bash, vimos a sintaxe básica e exemplos simples de automação.

Scripting pode soar difícil, mas no final, não é mais do que "escrever os comandos que escreve sempre à mão, por ordem". Primeiro, tente pensar se pode transformar as tarefas que faz frequentemente num script. Esse pequeno passo deverá libertá-lo do trabalho tedioso e permitir-lhe focar-se em tarefas mais criativas.

Agora que aprendeu a forma básica de escrever scripts, provavelmente quererá aprender formas mais práticas e "boas" de os escrever, e dicas para evitar erros comuns de iniciantes. No próximo artigo, vamos explicar essas melhores práticas.

[Guia Definitivo] 5 Padrões de Bash a Aprender e Como Evitar Erros