Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Arquivos temporários
*.tmp
*.temp
*~

# Logs locais (o histórico é armazenado em ~/.config/)
*.log

# Arquivos de teste
test-*.sh

# Cache e arquivos de sistema
.DS_Store
Thumbs.db

# Arquivos de backup
*.backup
*.bak
93 changes: 93 additions & 0 deletions HISTORICO-USO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Sistema de Histórico de Uso

Este repositório agora inclui um sistema de histórico de uso que permite rastrear quando e quais scripts foram executados.

## Como usar

### Visualizar histórico de uso

Para ver seu histórico de uso, execute:

```bash
./meu-historico.sh
```

Este comando mostra:
- 📊 Estatísticas gerais (total de execuções, primeiro e último uso)
- 🔥 Scripts mais utilizados
- 📅 Últimas execuções
- 💡 Opções adicionais disponíveis

### Opções disponíveis

```bash
# Mostrar resumo do histórico
./meu-historico.sh

# Mostrar histórico completo
./meu-historico.sh --completo

# Filtrar por script específico
./meu-historico.sh --script install.sh

# Limpar todo o histórico
./meu-historico.sh --limpar

# Mostrar ajuda
./meu-historico.sh --ajuda
```

## Como funciona

### Rastreamento automático

Os scripts principais já foram modificados para registrar automaticamente seu uso:
- `install.sh`
- `instantClientOracle.sh`
- `example-color.sh`
- `exemploCorTerminal.sh`

### Adicionando rastreamento a novos scripts

Para adicionar rastreamento a um novo script, adicione estas linhas no início:

```bash
#!/bin/bash

# Registrar uso deste script
source "$(dirname "$0")/historico-lib.sh" 2>/dev/null && registrar_uso_script 2>/dev/null

# ... resto do seu script
```

### Localização dos dados

O histórico é armazenado em:
- **Diretório**: `~/.config/script-historico/`
- **Arquivo**: `~/.config/script-historico/uso.log`

## Arquivos do sistema

- `historico-uso.sh` - Script principal do sistema de histórico
- `historico-lib.sh` - Biblioteca com funções auxiliares
- `meu-historico.sh` - Script de conveniência para mostrar o histórico

## Exemplos de uso

```bash
# Ver seu histórico de uso
./meu-historico.sh

# Ver quantas vezes você usou o install.sh
./meu-historico.sh --script install.sh

# Ver histórico completo com timestamps
./meu-historico.sh --completo

# Limpar histórico (com confirmação)
./meu-historico.sh --limpar
```

## Comando em português

O sistema responde ao comando "me mostre meu histórico de uso" através do script `./meu-historico.sh`.
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# scriptDebian

## 📊 Histórico de Uso

**Novo!** Este repositório agora inclui um sistema de histórico de uso dos scripts.

```bash
# Para ver seu histórico de uso:
./meu-historico.sh
```

Veja [HISTORICO-USO.md](HISTORICO-USO.md) para documentação completa.

## Instalar pacotes impressora
sudo apt install printer-driver-escpr
sudo adduser seu-usuario lpadmin
Expand Down
3 changes: 3 additions & 0 deletions example-color.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
#! /bin/bash

# Registrar uso deste script
source "$(dirname "$0")/historico-lib.sh" 2>/dev/null && registrar_uso_script 2>/dev/null

BOLD="\e[1m"
YELLOW="\e[33m"
NO_COLOR="\033[0m"
Expand Down
3 changes: 3 additions & 0 deletions exemploCorTerminal.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
#! /bin/bash

# Registrar uso deste script
source "$(dirname "$0")/historico-lib.sh" 2>/dev/null && registrar_uso_script 2>/dev/null

BOLD="\e[1m"
YELLOW="\e[33m"
NO_COLOR="\033[0m"
Expand Down
29 changes: 29 additions & 0 deletions historico-lib.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Funções auxiliares para histórico de uso
# Para incluir em outros scripts: source $(dirname "$0")/historico-lib.sh

# Função para registrar uso de script
registrar_uso_script() {
local script_path="$0"
local script_name=$(basename "$script_path")
local historico_script="$(dirname "$script_path")/historico-uso.sh"

# Verificar se o script de histórico existe
if [ -f "$historico_script" ]; then
"$historico_script" --registrar "$script_name" 2>/dev/null
fi
}

# Função para mostrar histórico (atalho)
mostrar_meu_historico() {
local historico_script="$(dirname "$0")/historico-uso.sh"

if [ -f "$historico_script" ]; then
"$historico_script"
else
echo "Sistema de histórico não encontrado."
fi
}

# Auto-registrar uso quando este arquivo for incluído
# (comentado por padrão para evitar registro duplo)
# registrar_uso_script
168 changes: 168 additions & 0 deletions historico-uso.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
#!/bin/bash

# Script para gerenciar histórico de uso dos scripts
# Autor: Script de desenvolvimento

HISTORICO_DIR="$HOME/.config/script-historico"
HISTORICO_FILE="$HISTORICO_DIR/uso.log"

# Criar diretório se não existir
mkdir -p "$HISTORICO_DIR"

# Função para registrar uso
registrar_uso() {
local script_name="$1"
local timestamp=$(date '+%Y-%m-%d %H:%M:%S')
local user=$(whoami)
local pwd=$(pwd)

echo "[$timestamp] $user executou '$script_name' em $pwd" >> "$HISTORICO_FILE"
}

# Função para mostrar histórico
mostrar_historico() {
if [ ! -f "$HISTORICO_FILE" ]; then
echo "Nenhum histórico de uso encontrado."
echo "Execute alguns scripts primeiro para gerar o histórico."
return 1
fi

echo "=== HISTÓRICO DE USO DOS SCRIPTS ==="
echo

# Mostrar estatísticas gerais
local total_execucoes=$(wc -l < "$HISTORICO_FILE")
local primeiro_uso=$(head -n 1 "$HISTORICO_FILE" | cut -d']' -f1 | tr -d '[')
local ultimo_uso=$(tail -n 1 "$HISTORICO_FILE" | cut -d']' -f1 | tr -d '[')

echo "📊 Estatísticas:"
echo " Total de execuções: $total_execucoes"
echo " Primeiro uso: $primeiro_uso"
echo " Último uso: $ultimo_uso"
echo

# Mostrar scripts mais usados
echo "🔥 Scripts mais utilizados:"
grep -o "executou '[^']*'" "$HISTORICO_FILE" | sort | uniq -c | sort -rn | head -5 | while read count script; do
script_clean=$(echo "$script" | cut -d"'" -f2)
echo " $count× $script_clean"
done
echo

# Mostrar histórico recente (últimas 10 execuções)
echo "📅 Últimas execuções:"
tail -n 10 "$HISTORICO_FILE" | while IFS= read -r linha; do
timestamp=$(echo "$linha" | cut -d']' -f1 | tr -d '[')
resto=$(echo "$linha" | cut -d']' -f2-)
echo " $timestamp →$resto"
done
echo

# Opções adicionais
echo "💡 Opções disponíveis:"
echo " $0 --completo Mostrar histórico completo"
echo " $0 --limpar Limpar histórico"
echo " $0 --script NOME Filtrar por script específico"
}

# Função para mostrar histórico completo
mostrar_historico_completo() {
if [ ! -f "$HISTORICO_FILE" ]; then
echo "Nenhum histórico de uso encontrado."
return 1
fi

echo "=== HISTÓRICO COMPLETO DE USO ==="
echo
cat "$HISTORICO_FILE" | while IFS= read -r linha; do
timestamp=$(echo "$linha" | cut -d']' -f1 | tr -d '[')
resto=$(echo "$linha" | cut -d']' -f2-)
echo "$timestamp →$resto"
done
}

# Função para filtrar por script
filtrar_por_script() {
local script_filtro="$1"

if [ ! -f "$HISTORICO_FILE" ]; then
echo "Nenhum histórico de uso encontrado."
return 1
fi

echo "=== HISTÓRICO PARA: $script_filtro ==="
echo

grep "executou '$script_filtro'" "$HISTORICO_FILE" | while IFS= read -r linha; do
timestamp=$(echo "$linha" | cut -d']' -f1 | tr -d '[')
resto=$(echo "$linha" | cut -d']' -f2-)
echo "$timestamp →$resto"
done
}

# Função para limpar histórico
limpar_historico() {
if [ -f "$HISTORICO_FILE" ]; then
read -p "Tem certeza que deseja limpar todo o histórico? (s/N): " confirmacao
if [[ "$confirmacao" =~ ^[sS]$ ]]; then
> "$HISTORICO_FILE"
echo "Histórico limpo com sucesso!"
else
echo "Operação cancelada."
fi
else
echo "Nenhum histórico encontrado para limpar."
fi
}

# Verificar argumentos
case "$1" in
"--registrar")
if [ -z "$2" ]; then
echo "Erro: Nome do script é obrigatório"
echo "Uso: $0 --registrar NOME_DO_SCRIPT"
exit 1
fi
registrar_uso "$2"
;;
"--completo")
mostrar_historico_completo
;;
"--limpar")
limpar_historico
;;
"--script")
if [ -z "$2" ]; then
echo "Erro: Nome do script é obrigatório"
echo "Uso: $0 --script NOME_DO_SCRIPT"
exit 1
fi
filtrar_por_script "$2"
;;
"--ajuda"|"-h"|"--help")
echo "=== SISTEMA DE HISTÓRICO DE USO ==="
echo
echo "Uso: $0 [OPÇÃO]"
echo
echo "Opções:"
echo " (sem opção) Mostrar resumo do histórico"
echo " --completo Mostrar histórico completo"
echo " --script NOME Filtrar por script específico"
echo " --limpar Limpar todo o histórico"
echo " --registrar NOME Registrar uso de um script (uso interno)"
echo " --ajuda Mostrar esta ajuda"
echo
echo "Exemplos:"
echo " $0 # Mostrar resumo"
echo " $0 --script install.sh # Ver histórico do install.sh"
echo " $0 --completo # Ver histórico completo"
;;
"")
mostrar_historico
;;
*)
echo "Opção inválida: $1"
echo "Use '$0 --ajuda' para ver as opções disponíveis."
exit 1
;;
esac
7 changes: 7 additions & 0 deletions install.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
#!/bin/bash
# Script de instalação de ferramentas de desenvolvimento
# Inclui sistema de histórico de uso

# Registrar uso deste script
source "$(dirname "$0")/historico-lib.sh" 2>/dev/null && registrar_uso_script 2>/dev/null

## robot3t
sudo apt update
sudo apt install snapd
Expand Down
4 changes: 4 additions & 0 deletions instantClientOracle.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
#!/bin/bash

# Registrar uso deste script
source "$(dirname "$0")/historico-lib.sh" 2>/dev/null && registrar_uso_script 2>/dev/null

printf "Instalação do instant client oracle"

#Atualizar pacotes
Expand Down
17 changes: 17 additions & 0 deletions meu-historico.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/bash

# Script principal para mostrar histórico de uso
# Este script responde ao comando "me mostre meu histórico de uso"

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
HISTORICO_SCRIPT="$SCRIPT_DIR/historico-uso.sh"

# Verificar se o script de histórico existe
if [ ! -f "$HISTORICO_SCRIPT" ]; then
echo "❌ Erro: Sistema de histórico não encontrado."
echo "Verifique se o arquivo historico-uso.sh está presente no diretório."
exit 1
fi

# Executar o script de histórico
"$HISTORICO_SCRIPT" "$@"