Técnicas Avançadas de Shell Scripting

Aprenda Técnicas Avançadas de Shell Scripting. Este módulo abrange Fundamentos de Funções Shell, Escopo de Variáveis e Status de Retorno, Tratamento de Erros com Trap, Técnicas de Manipulação de Strings, Processamento de Arrays. Você dominará estas habilidades essenciais do Linux através de laboratórios práticos e desafios do mundo real.

DevOps EngineerLinuxDevOps

💡 Este tutorial foi traduzido do inglês com assistência de IA. Para ver o original, você pode mudar para a versão em inglês

Introdução

Este curso intermediário amplia scripts Bash básicos com funções reutilizáveis, escopo controlado, limpeza, expansão de parâmetros e arrays. Em cinco laboratórios guiados, você organizará a lógica, separará texto de status, reagirá ao encerramento, manipulará strings sem ferramentas externas e processará coleções com segurança.

O desafio final combina essas técnicas em log_manager.sh: manter um array fixo de logs preparados, derivar nomes .backup em uma função, copiar arquivos existentes, alertar sobre ausentes e remover um relatório temporário ao sair.

O que você aprenderá

  • Definir e chamar funções Bash e passar valores por argumentos
  • Proteger o estado com variáveis local em vez de alterar globais acidentalmente
  • Retornar códigos de status, capturar $? imediatamente e desviar conforme o resultado
  • Registrar funções de limpeza para SIGINT e EXIT com trap
  • Fatiar, substituir e fornecer valores padrão por expansão de parâmetros
  • Declarar arrays, acrescentar elementos, expandir todos os valores e iterar com aspas seguras
  • Derivar nomes de backup substituindo .log por .backup dentro de uma função
  • Coordenar limpeza, arrays, testes de arquivos, funções e avisos em um script executável

Para quem é este curso

Este curso é destinado a quem já concluiu fundamentos de Bash e deseja técnicas intermediárias para tornar pequenos scripts de manutenção mais modulares e previsíveis.

Pré-requisitos: Scripts Bash, variáveis, argumentos posicionais, condicionais, loops, testes de arquivos, códigos de saída, redirecionamento, permissões de execução e comandos básicos de arquivos.

Ambiente de aprendizagem: Um terminal LabEx baseado em Ubuntu com Bash, scripts editáveis, exercícios de sinais e arquivos temporários e três logs preparados para o desafio.

Perguntas frequentes

Como o curso é organizado?

Cinco laboratórios oferecem prática guiada. O sexto item é um desafio em que você cria log_manager.sh combinando trap de limpeza, função, array, substituição e loop.

O gerenciador final compacta, exclui ou realmente rotaciona logs?

Não. Ele copia cada .log preparado para um .backup ao lado e preserva o original. Não compacta, aplica retenção, trunca nem configura logrotate.

Quais eventos os exercícios de trap tratam?

O laboratório guiado registra limpeza para SIGINT e EXIT, removendo um temporário com Ctrl+C ou saída normal. O desafio exige especificamente um trap EXIT para report.txt.

Uma função Bash pode retornar texto com return?

Não nestes exercícios. return transporta um status inteiro de 0 a 255 para controle; texto é produzido com echo ou capturado por substituição de comandos.

Professor

labby
Labby
Labby is the LabEx teacher.