Aperçu
L’outil bash fournit à Claude :- Session bash persistante qui maintient l’état
- Capacité d’exécuter n’importe quelle commande shell
- Accès aux variables d’environnement et au répertoire de travail
- Capacités de chaînage de commandes et de script
Versions de l’outil
Modèle | Version de l’outil |
---|---|
Modèles Claude 4 et Sonnet 3.7 | bash_20250124 |
Claude Sonnet 3.5 (déprécié) | bash_20241022 |
Claude Sonnet 3.5 (déprécié) nécessite l’en-tête bêta
computer-use-2024-10-22
lors de l’utilisation de l’outil bash.L’outil bash est généralement disponible dans les modèles Claude 4 et Sonnet 3.7.Cas d’usage
- Flux de travail de développement : Exécuter des commandes de build, des tests et des outils de développement
- Automatisation système : Exécuter des scripts, gérer des fichiers, automatiser des tâches
- Traitement de données : Traiter des fichiers, exécuter des scripts d’analyse, gérer des jeux de données
- Configuration d’environnement : Installer des packages, configurer des environnements
Démarrage rapide
Comment ça fonctionne
L’outil bash maintient une session persistante :- Claude détermine quelle commande exécuter
- Vous exécutez la commande dans un shell bash
- Retournez la sortie (stdout et stderr) à Claude
- L’état de la session persiste entre les commandes (variables d’environnement, répertoire de travail)
Paramètres
Paramètre | Requis | Description |
---|---|---|
command | Oui* | La commande bash à exécuter |
restart | Non | Définir à true pour redémarrer la session bash |
restart
Exemple d'utilisation
Exemple d'utilisation
Exemple : Automatisation multi-étapes
Claude peut chaîner des commandes pour accomplir des tâches complexes :Implémenter l’outil bash
L’outil bash est implémenté comme un outil sans schéma. Lors de l’utilisation de cet outil, vous n’avez pas besoin de fournir un schéma d’entrée comme avec d’autres outils ; le schéma est intégré dans le modèle de Claude et ne peut pas être modifié.1
Configurer un environnement bash
Créer une session bash persistante avec laquelle Claude peut interagir :
2
Gérer l'exécution des commandes
Créer une fonction pour exécuter des commandes et capturer la sortie :
3
Traiter les appels d'outils de Claude
Extraire et exécuter les commandes des réponses de Claude :
4
Implémenter des mesures de sécurité
Ajouter validation et restrictions :
Gérer les erreurs
Lors de l’implémentation de l’outil bash, gérez divers scénarios d’erreur :Timeout d'exécution de commande
Timeout d'exécution de commande
Si une commande prend trop de temps à s’exécuter :
Commande non trouvée
Commande non trouvée
Si une commande n’existe pas :
Permission refusée
Permission refusée
S’il y a des problèmes de permission :
Suivre les meilleures pratiques d’implémentation
Utiliser des timeouts de commande
Utiliser des timeouts de commande
Implémenter des timeouts pour éviter les commandes qui se bloquent :
Maintenir l'état de session
Maintenir l'état de session
Garder la session bash persistante pour maintenir les variables d’environnement et le répertoire de travail :
Gérer les sorties volumineuses
Gérer les sorties volumineuses
Tronquer les sorties très volumineuses pour éviter les problèmes de limite de tokens :
Enregistrer toutes les commandes
Enregistrer toutes les commandes
Conserver une piste d’audit des commandes exécutées :
Assainir les sorties
Assainir les sorties
Supprimer les informations sensibles des sorties de commande :
Sécurité
L’outil bash fournit un accès direct au système. Implémentez ces mesures de sécurité essentielles :
- Exécution dans des environnements isolés (Docker/VM)
- Implémentation de filtrage de commandes et de listes d’autorisation
- Définition de limites de ressources (CPU, mémoire, disque)
- Enregistrement de toutes les commandes exécutées
Recommandations clés
- Utiliser
ulimit
pour définir des contraintes de ressources - Filtrer les commandes dangereuses (
sudo
,rm -rf
, etc.) - Exécuter avec des permissions utilisateur minimales
- Surveiller et enregistrer toute exécution de commande
Tarification
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
Modèles courants
Flux de travail de développement
- Exécuter des tests :
pytest && coverage report
- Construire des projets :
npm install && npm run build
- Opérations Git :
git status && git add . && git commit -m "message"
Opérations de fichiers
- Traiter des données :
wc -l *.csv && ls -lh *.csv
- Rechercher dans les fichiers :
find . -name "*.py" | xargs grep "motif"
- Créer des sauvegardes :
tar -czf backup.tar.gz ./data
Tâches système
- Vérifier les ressources :
df -h && free -m
- Gestion des processus :
ps aux | grep python
- Configuration d’environnement :
export PATH=$PATH:/nouveau/chemin && echo $PATH
Limitations
- Pas de commandes interactives : Ne peut pas gérer
vim
,less
, ou les invites de mot de passe - Pas d’applications GUI : Ligne de commande uniquement
- Portée de session : Persiste dans la conversation, perdue entre les appels API
- Limites de sortie : Les sorties volumineuses peuvent être tronquées
- Pas de streaming : Résultats retournés après achèvement