Voltar ao blog
Arnošt Havelka

Premium: Prática de Script Bash

Combine variáveis, funções, loops e condicionais para resolver um cenário realista de múltiplas etapas.

Iniciar lição interativa
Premium: Prática de Script Bash

Premium: Prática de Script Bash

Agora combine tudo: variáveis, funções, loops e condicionais para construir um script de automação real.

Passo 1: Construa a fundação

Command Prompt
(vazio)
C:\Users\User>ls

Crie múltiplos arquivos de log com um loop. Cada iteração escreve um novo arquivo.

Passo 2: Analise os resultados

Command Prompt
log_1.txt log_2.txt log_3.txt
C:\Users\User>ls backups

Use padrões glob para processar todos os arquivos de uma vez.

Passo 3: Extraia e conte

Command Prompt
Entrada de log 1 Entrada de log 2 Entrada de log 3
C:\Users\User>cat backups/*.txt

Combine pipes e comandos para obter estatísticas significativas de seus dados.

Cenário do mundo real

Você gerencia 10 microsserviços. Cada um gera um log de deploy. Construa um script que:

  1. Crie um diretório de backup com todos os logs atuais.
  2. Filtre por linhas de erro.
  3. Conte erros totais em todos os serviços.
function verificar_deploys {
  mkdir -p backup_deploys
  for servico in web api cache queue worker db; do
    if [ -f "$servico.log" ]; then
      cp "$servico.log" backup_deploys/
      erro_count=$(grep -c 'ERROR' "backup_deploys/$servico.log")
      echo "Serviço $servico tem $erro_count erros"
    fi
  done
}

verificar_deploys

Lista que você pode reutilizar

  1. Itere com for var in lista; do ...; done.
  2. Verifique condições com if [ teste ]; then ...; fi.
  3. Capture saída com $(comando).
  4. Processe arquivos com cat *.ext | grep | wc -l.
  5. Organize com funções que agrupam tarefas relacionadas.

Teste de conhecimentos

1 / 2

Como você executa um comando e armazena seu resultado em uma variável?

Referências

Estes links do Microsoft Learn e da documentação do Windows trazem detalhes confiáveis sobre os comandos usados neste artigo.

A seguir

PS - Listar Processos

Visualizar processos em execução no Bash.