Panoramica
Lo strumento bash fornisce a Claude:- Sessione bash persistente che mantiene lo stato
- Capacità di eseguire qualsiasi comando shell
- Accesso alle variabili di ambiente e alla directory di lavoro
- Capacità di concatenamento di comandi e scripting
Compatibilità del modello
| Modello | Versione dello strumento |
|---|---|
| Modelli Claude 4 e Sonnet 3.7 (deprecato) | bash_20250124 |
Le versioni precedenti dello strumento non sono garantite essere retrocompatibili con i modelli più recenti. Utilizza sempre la versione dello strumento che corrisponde alla versione del tuo modello.
Casi d’uso
- Flussi di lavoro di sviluppo: Esegui comandi di build, test e strumenti di sviluppo
- Automazione di sistema: Esegui script, gestisci file, automatizza attività
- Elaborazione dati: Elabora file, esegui script di analisi, gestisci dataset
- Configurazione dell’ambiente: Installa pacchetti, configura ambienti
Avvio rapido
Come funziona
Lo strumento bash mantiene una sessione persistente:- Claude determina quale comando eseguire
- Esegui il comando in una shell bash
- Restituisci l’output (stdout e stderr) a Claude
- Lo stato della sessione persiste tra i comandi (variabili di ambiente, directory di lavoro)
Parametri
| Parametro | Obbligatorio | Descrizione |
|---|---|---|
command | Sì* | Il comando bash da eseguire |
restart | No | Imposta su true per riavviare la sessione bash |
restart
Esempio di utilizzo
Esempio di utilizzo
Esempio: Automazione multi-step
Claude può concatenare comandi per completare attività complesse:Implementa lo strumento bash
Lo strumento bash è implementato come uno strumento senza schema. Quando utilizzi questo strumento, non è necessario fornire uno schema di input come con altri strumenti; lo schema è integrato nel modello di Claude e non può essere modificato.1
Configura un ambiente bash
Crea una sessione bash persistente con cui Claude può interagire:
2
Gestisci l'esecuzione dei comandi
Crea una funzione per eseguire comandi e catturare l’output:
3
Elabora le chiamate di strumento di Claude
Estrai ed esegui i comandi dalle risposte di Claude:
4
Implementa misure di sicurezza
Aggiungi convalida e restrizioni:
Gestisci gli errori
Quando implementi lo strumento bash, gestisci vari scenari di errore:Timeout dell'esecuzione del comando
Timeout dell'esecuzione del comando
Se un comando impiega troppo tempo per essere eseguito:
Comando non trovato
Comando non trovato
Se un comando non esiste:
Permesso negato
Permesso negato
Se ci sono problemi di permessi:
Segui le migliori pratiche di implementazione
Utilizza timeout dei comandi
Utilizza timeout dei comandi
Implementa timeout per prevenire comandi bloccati:
Mantieni lo stato della sessione
Mantieni lo stato della sessione
Mantieni la sessione bash persistente per conservare le variabili di ambiente e la directory di lavoro:
Gestisci output di grandi dimensioni
Gestisci output di grandi dimensioni
Tronca output molto grandi per prevenire problemi di limite di token:
Registra tutti i comandi
Registra tutti i comandi
Mantieni un audit trail dei comandi eseguiti:
Sanifica gli output
Sanifica gli output
Rimuovi informazioni sensibili dagli output dei comandi:
Sicurezza
Lo strumento bash fornisce accesso diretto al sistema. Implementa queste misure di sicurezza essenziali:
- Esecuzione in ambienti isolati (Docker/VM)
- Implementazione del filtraggio dei comandi e allowlist
- Impostazione di limiti di risorse (CPU, memoria, disco)
- Registrazione di tutti i comandi eseguiti
Raccomandazioni chiave
- Utilizza
ulimitper impostare vincoli di risorse - Filtra i comandi pericolosi (
sudo,rm -rf, ecc.) - Esegui con permessi utente minimi
- Monitora e registra tutta l’esecuzione dei comandi
Prezzi
The bash tool adds 245 input tokens to your API calls. Additional tokens are consumed by:- Command outputs (stdout/stderr)
- Error messages
- Large file contents
Modelli comuni
Flussi di lavoro di sviluppo
- Esecuzione di test:
pytest && coverage report - Costruzione di progetti:
npm install && npm run build - Operazioni Git:
git status && git add . && git commit -m "message"
Operazioni su file
- Elaborazione dati:
wc -l *.csv && ls -lh *.csv - Ricerca di file:
find . -name "*.py" | xargs grep "pattern" - Creazione di backup:
tar -czf backup.tar.gz ./data
Attività di sistema
- Verifica delle risorse:
df -h && free -m - Gestione dei processi:
ps aux | grep python - Configurazione dell’ambiente:
export PATH=$PATH:/new/path && echo $PATH
Limitazioni
- Nessun comando interattivo: Non può gestire
vim,lesso prompt di password - Nessuna applicazione GUI: Solo riga di comando
- Ambito della sessione: Persiste all’interno della conversazione, perso tra le chiamate API
- Limiti di output: Gli output di grandi dimensioni possono essere troncati
- Nessuno streaming: I risultati vengono restituiti dopo il completamento