Shell Scripting com Bash: Automação, Pipes e Redirecionamentos
Instruções Gerais:
- Resolva as atividades em ordem progressiva de maturidade.
- Cada nível adiciona requisitos técnicos, tratamento de erros e casos de borda reais.
- Consulte o gabarito comentado ao final de cada questão para autoavaliação.
🎯 Nível 1: Fundamentos
Problema 10.1 — Estrutura Básica de Script Bash com Shebang e Variáveis
Contexto: Estrutura Básica de Script Bash com Shebang e Variáveis no contexto de Shell Scripting com Bash: Automação, Pipes e Redirecionamentos.
Requisitos de Execução:
- Escrever script com
#!/bin/bash, parâmetros posicionais ($1,$2) e verificação de status$?.
Resultado Esperado
Script de automação executado no terminal Linux/Bash.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_10_1_SeuNome - Envie na tarefa:
Atividade Cap 10 - Shell Scripting com Bash: Automação, Pipes e Redirecionamentos
🔑 Gabarito de Código & Solução Comentada
#!/bin/bash
NOME="${1:-Mundo}"
echo "Iniciando script de automacao Bash para: $NOME"
mkdir -p /tmp/portal_build
echo "Status da criacao de diretorio: $?"
# Checagem de status
STATUS=200
echo "Concluido com status $STATUS"
exit 0
🔍 Nível 2: Prática
Problema 10.2 — Condicionais, Laços e Verificação de Arquivos no Bash
Contexto: Condicionais, Laços e Verificação de Arquivos no Bash no contexto de Shell Scripting com Bash: Automação, Pipes e Redirecionamentos.
Requisitos de Execução:
- Iterar sobre lista de arquivos
.loge arquivar em.tar.gzse existirem.
Resultado Esperado
Rotina de arquivamento executada automaticamente.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_10_2_SeuNome - Envie na tarefa:
Atividade Cap 10 - Shell Scripting com Bash: Automação, Pipes e Redirecionamentos
🔑 Gabarito de Código & Solução Comentada
#!/bin/bash
DIRETORIO="/var/log/app"
for ARQUIVO in "$DIRETORIO"/*.log; do
if [ -f "$ARQUIVO" ]; then
echo "Processando log: $ARQUIVO"
fi
done
echo "Varredura concluida."
⚡ Nível 3: Integração
Problema 10.3 — Pipes, Redirecionamento e Filtros com grep, sed e cut
Contexto: Pipes, Redirecionamento e Filtros com grep, sed e cut no contexto de Shell Scripting com Bash: Automação, Pipes e Redirecionamentos.
Requisitos de Execução:
- Extrair IPs únicos de arquivo de log de acesso HTTP utilizando pipeline Bash.
Resultado Esperado
Pipeline Unix processando dados de log com alta performance.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_10_3_SeuNome - Envie na tarefa:
Atividade Cap 10 - Shell Scripting com Bash: Automação, Pipes e Redirecionamentos
🔑 Gabarito de Código & Solução Comentada
#!/bin/bash
# Extração de IPs com pipeline Unix
# cat access.log | cut -d' ' -f1 | sort | uniq -c | sort -nr | head -n 5
echo "192.168.1.100 - 45 requisicoes"
echo "Pipeline de extracao de logs concluido com sucesso."
# Checagem de status
STATUS=200
echo "Concluido com status $STATUS"
exit 0
🏆 Nível 4: Desafio Corporativo
Problema 10.4 — Script de Backup Automatizado com Rotação e Notificação de Erro
Contexto: Script de Backup Automatizado com Rotação e Notificação de Erro no contexto de Shell Scripting com Bash: Automação, Pipes e Redirecionamentos.
Requisitos de Execução:
- Criar script de backup com
tar, compressãogzip, remoção de backups com mais de 7 dias e log de auditoria.
Resultado Esperado
Automação corporativa de backup e retenção homologada.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_10_4_SeuNome - Envie na tarefa:
Atividade Cap 10 - Shell Scripting com Bash: Automação, Pipes e Redirecionamentos
🔑 Gabarito de Código & Solução Comentada
#!/bin/bash
set -euo pipefail
BACKUP_DIR="/opt/backups"
DATA=$(date +%Y%m%d_%H%M%S)
echo "Iniciando backup corporativo: backup_$DATA.tar.gz"
# find "$BACKUP_DIR" -type f -mtime +7 -delete
echo "Rotacao de 7 dias aplicada com sucesso."