📜 Script Bash e Python

Produrre in pochi minuti script di automazione robusti (deployment, backup, monitoring) che richiederebbero 1-2 ore di sviluppo da zero.

I DevOps scrivono in media diversi script a settimana per automatizzare i compiti ricorrenti: deployment, backup, rotazione dei log, controlli di salute. L'IA permette di produrre in 5-15 minuti ciò che richiedeva 1-2 ore, con una gestione degli errori e una portabilità di qualità. La trappola: gli script generati possono essere troppo permissivi (rm -rf rischiosi, gestione degli errori assente) o semplicemente scorretti in casi particolari. Questa guida presenta il workflow rigoroso che combina generazione rapida e verifica sistematica.

Workflow passo dopo passo
1
Descrivere il contesto di esecuzione

Prima di codificare: OS target (bash su Linux? PowerShell su Windows? cross-platform?), versione di Python (3.11, 3.12), ambiente (CI/CD, cron, lambda, kubernetes job), permessi disponibili. Senza contesto, l'IA fa ipotesi che possono rompere il sistema.

2
Precisare gli invarianti critici

Idempotenza? Atomicità? Rollback? Log strutturati? Notifiche? Questi invarianti devono essere espliciti nel prompt. Sono loro che distinguono uno script che funziona da uno script production-ready.

3
Generare con gestione degli errori robusta

Richiedere esplicitamente: `set -euo pipefail` in bash, try/except con logging in Python, codici di ritorno chiari, messaggi di errore sfruttabili. L'IA produce naturalmente codice happy-path — bisogna forzare la robustezza.

4
Testare in modalità dry-run

Prima dell'esecuzione reale: eseguire lo script in dry-run o su un ambiente di staging. Verificare i percorsi, i permessi, le dipendenze, il comportamento su edge case (file assente, disco pieno, rete giù).

5
Versionare e documentare

Commit nel repository infra con: commento di utilizzo in testa, esempio di invocazione, parametri documentati. L'IA può anche generare la documentazione Markdown automaticamente dal script.

Prompt copiabili
Script di backup robusto
Sei un DevOps senior. Genera uno script [BASH/PYTHON] che :nn**Obiettivo**: salvare [COSA: DB / volumi / file] verso [DESTINAZIONE: S3, NAS, ecc.]nn**Vincoli**:n- Ambiente: [LINUX/UBUNTU/ALPINE]n- Idempotente: esecuzione multipla senza corruptionn- Rotazione: conservare N backup, cancellare i più antichir- Compressione: gzip/zstd in base al ratio compressione/CPUn- Log: strutturati (JSON o formato chiaro) con timestampn- Notifiche: webhook Slack o email in caso di falloon- Codice di ritorno: 0 se OK, codici diversi per tipo d'errorn- `set -euo pipefail` o equivalente strettonnFornisci:n1. Lo script completo, commentaton2. Le variabili d'ambiente richieste (con esempio `.env.example`)n3. Il comando di invocazione tipo (cron, systemd timer)n4. I test da fare prima di mettere in prod
Script di deployment Blue/Green
Genera uno script di deployment Blue/Green per questa applicazione:nn**Stack**: [DESCRIZIONE — es: app Node.js su ECS / Kubernetes / VM]n**Target**: [AMBIENTE]n**Source**: registry [DOCKER HUB / ECR / GHCR]nnLo script deve:n1. Identificare la versione attuale (attiva)n2. Deployare la nuova versione sull'ambiente inattivon3. Lanciare uno smoke test sul nuovo deploymentn4. Se OK: passare il traffic agn5. Se KO: rollback automaticon6. Loggare ogni step con timestampn7. Notificare Slack ad ogni transizionennFornisci anche il runbook: cosa fare se lo smoke test fallisce, come rollback manuale se lo script crasha, chi avvisare.
Script Python di analisi CSV/JSON
Genera uno script Python che:nn**Input**: file [CSV/JSON] con queste colonne: [LISTA]n**Elaborazione**: [DESCRIVERE — es: aggregare per mese, calcolare percentili, rilevare outlier]n**Output**: [FORMATO — CSV, JSON, Excel, grafico]nnVincoli:n- Python 3.11+ con pandas/numpyn- Gestione di file voluminiosi (chunking se >100MB)n- Validazione dei dati in input (tipi, valori anomali)n- Logging via `logging` (non print)n- Argparse per i parametri (input, output, opzioni)n- Codice strutturato in funzioni testabilien- Docstring completinnFornisci anche: `requirements.txt`, esempio di utilizzo, e 3 casi di test da fare.
Conversione di uno script verso un altro stack
Converti questo script:nn[SCRIPT ORIGINALE]nnVerso [LINGUAGGIO/STACK TARGET — es: Bash → Python, o Python → Go per le prestazioni].nnMantieni:n- Stesso comportamento funzionalen- Stessa gestione degli errori (o migliore se possibile)n- Stesso formato dei logn- Stessi parametri e codici di ritornonnFornisci:n1. Lo script convertisson2. Le differenze notevoli (cosa cambia nel comportamento, perché)n3. I miglioramenti apportati lungo la strada (prestazioni, leggibilità, sicurezza)n4. I test di non-regressione da fare
Strumenti consigliati
Claude Code
★ 4.9 (92) · 20 USD/mois

Assistant de développement IA agentique par Anthropic : comprend votre codebase, édite des fichiers, exécute des commandes et s'intègre à votre environnement de développement.

Perché : Le meilleur pour le scripting avec accès au contexte de votre repo. Gère bien les invariants production (idempotence, gestion d'erreurs).

🤖
Cursor
★ 4.8 (145) · 20 USD/mois

Éditeur de code IA révolutionnaire basé sur VS Code avec agents autonomes

Perché : L'IDE permet de générer et tester rapidement, avec accès aux fichiers du repo en contexte. Idéal pour itérer.

Claude Opus 4.5
★ 4.9 (92) · 20 USD/mois

Claude Opus 4.5 : modèle premium d’Anthropic pour code, agents et tâches complexes en entreprise.

Perché : Pour les scripts complexes avec logique multi-étapes, reasoning supérieur. Hallucinations limitées sur les flags et options de commandes.

ROI stimato
Tempo risparmiato
70-80% su script standard (10-15 min vs 1-2h)
Miglioramento della qualità
Gestione degli errori e idempotenza sistematiche, doc auto-generata
Costo
20-30€/mese per Claude Code o Cursor Pro
Domande frequenti
Lo script generato è production-ready?

Non così com'è nel 90% dei casi. Le trappole comuni: permessi troppo larghi, gestione degli errori incompleta, percorsi hardcoded, secret in chiaro. Controllare sempre prima di prod: `shellcheck` per bash, `bandit` o `pylint` per Python, e un umano per la logica di business.

Si può fare generare Terraform o Ansible con l'IA?

Sì, è anche un eccellente caso d'uso. Ma: sempre validare con `terraform plan` o `ansible-playbook –check`, scansionare con `tfsec` o `checkov`, e controllare i permessi IAM generati (l'IA è spesso troppo permissiva per default).

Come gestire i secret negli script generati dall'IA?

Regola d'oro: mai secret nel prompt. Lo script deve caricarli dall'ambiente (variabili d'ambiente, AWS Secrets Manager, Vault, ecc.). Se l'IA suggerisce hardcoded: sostituire sempre prima dell'utilizzo.

L'IA gestisce bene gli edge case nello scripting?

Meno bene rispetto al happy-path. Casi tipicamente dimenticati: file assente, disco pieno, timeout di rete, permessi rifiutati, processo terminato durante l'esecuzione. Richiedere esplicitamente all'IA di coprire questi casi, e testare ogni scenario pre-prod.

← Torna alla guida DevOps / SRE