Este repositório foi criado para documentar meus aprendizados em programação Bash. Organizei os conteúdos em módulos, registrando cada conceito que aprendi. Cada módulo contém um arquivo README.md para facilitar a consulta de um determinado comando ou conceito.
Módulo 1: Fundamentos
Neste módulo, aprendi os fundamentos do Bash scripting, uma poderosa ferramenta para automação de tarefas no sistema operacional Linux. Explorei o uso de variáveis e como manipulá-las, incluindo operações matemáticas simples e a utilização de variáveis especiais, como
Módulo 2: Boas Práticas Neste módulo, aprendi a importância de aplicar boas práticas de legibilidade em Bash, que tornam o código mais acessível e claro para qualquer pessoa que o consulte no futuro como comentários cimples e objetivos, identações e também quebras de linhas são cruciais para a elegibilidade do codigo.
Módulo 3: Flags Neste módulo, aprofundei meu conhecimento sobre o uso de flags em scripts Bash, aprendendo a criar e manipular opções personalizadas para tornar o script mais flexível e amigável ao usuário. A inclusão de flags permite controlar o comportamento do programa de forma direta e organizada, com opções específicas para cada funcionalidade. No script de exemplo, usei as seguintes flags:
Módulo 4: Debug profundei meus conhecimentos em debugging de scripts Bash, aprendendo a utilizar set -x e set +x para rastrear a execução do código em diferentes pontos. Essas ferramentas de debug ajudam a visualizar comandos e variáveis enquanto o script é executado, permitindo identificar rapidamente onde ocorrem erros ou comportamentos inesperados.
Módulo 5: Cores No módulo 5, aprendi sobre a implementação de cores em scripts Bash, o que não apenas embeleza a saída, mas também facilita a distinção entre diferentes tipos de mensagens (como debug, erro e informação) durante a execução do script.
Módulo 6: Regex As expressões regulares são uma ferramenta poderosa para trabalhar com strings. Compreender seus componentes e como aplicá-los em comandos do Linux, como grep e egrep, pode aumentar significativamente sua eficiência na manipulação de dados textuais.
Módulo 7: Extração de Dados Este módulo aborda a extração de dados de websites utilizando a ferramenta lynx em conjunto com expressões regulares (regex). O objetivo é demonstrar como automatizar o processo de scraping de dados de páginas da web.
Módulo 8: Parser Neste módulo, aprendi a criar scripts que utilizam arquivos de configuração para definir comportamentos e parâmetros de execução. O objetivo principal foi a construção de um parser que lê um arquivo de configuração, interpreta seus valores e aplica esses parâmetros a uma mensagem de teste.
Módulo 9: Sistema de Usuários No Módulo 9, você desenvolveu um sistema de usuários utilizando Bash, o que envolveu a criação de funções, Loops e também testes para gerenciar um banco de dados de usuários. Esse aprendizado permitiu que você compreendesse conceitos fundamentais sobre manipulação de dados e controle de fluxo em scripts.
Módulo 10: Interface Gráfica com dialog No Módulo 10, o projeto avançou e foi necessário implementar um dialog do sistema de usuários em Bash. Isso proporcionou uma interface mais amigável para interação com o usuário, permitindo operações de gerenciamento de usuários de forma mais visual e intuitiva.