Bash-Tool
Das Bash-Tool ermöglicht es Claude, Shell-Befehle in einer persistenten Bash-Sitzung auszuführen und dabei Systemoperationen, Skriptausführung und Befehlszeilen-Automatisierung zu ermöglichen.
Das Bash-Tool ermöglicht es Claude, Shell-Befehle in einer persistenten Bash-Sitzung auszuführen und dabei Systemoperationen, Skriptausführung und Befehlszeilen-Automatisierung zu ermöglichen.
Überblick
Das Bash-Tool bietet Claude:
- Persistente Bash-Sitzung, die den Zustand beibehält
- Fähigkeit, jeden Shell-Befehl auszuführen
- Zugriff auf Umgebungsvariablen und Arbeitsverzeichnis
- Befehlsverkettung und Skripting-Funktionen
Tool-Versionen
Modell | Tool-Version |
---|---|
Claude 4 & Sonnet 3.7 | bash_20250124 |
Claude Sonnet 3.5 | bash_20241022 |
Claude Sonnet 3.5 erfordert den computer-use-2024-10-22
Beta-Header bei der Verwendung des Bash-Tools.
Das Bash-Tool ist allgemein verfügbar in Claude 4 und Sonnet 3.7.
Anwendungsfälle
- Entwicklungsworkflows: Build-Befehle, Tests und Entwicklungstools ausführen
- Systemautomatisierung: Skripte ausführen, Dateien verwalten, Aufgaben automatisieren
- Datenverarbeitung: Dateien verarbeiten, Analyseskripte ausführen, Datensätze verwalten
- Umgebungseinrichtung: Pakete installieren, Umgebungen konfigurieren
Schnellstart
Funktionsweise
Das Bash-Tool behält eine persistente Sitzung bei:
- Claude bestimmt, welcher Befehl ausgeführt werden soll
- Sie führen den Befehl in einer Bash-Shell aus
- Geben Sie die Ausgabe (stdout und stderr) an Claude zurück
- Der Sitzungszustand bleibt zwischen Befehlen bestehen (Umgebungsvariablen, Arbeitsverzeichnis)
Parameter
Parameter | Erforderlich | Beschreibung |
---|---|---|
command | Ja* | Der auszuführende Bash-Befehl |
restart | Nein | Auf true setzen, um die Bash-Sitzung neu zu starten |
*Erforderlich, außer bei Verwendung von restart
Beispiel: Mehrstufige Automatisierung
Claude kann Befehle verketten, um komplexe Aufgaben zu erledigen:
Die Sitzung behält den Zustand zwischen Befehlen bei, sodass in Schritt 2 erstellte Dateien in Schritt 3 verfügbar sind.
Das Bash-Tool implementieren
Das Bash-Tool wird als schemaloses Tool implementiert. Bei der Verwendung dieses Tools müssen Sie kein Eingabeschema bereitstellen wie bei anderen Tools; das Schema ist in Claudes Modell eingebaut und kann nicht geändert werden.
Eine Bash-Umgebung einrichten
Erstellen Sie eine persistente Bash-Sitzung, mit der Claude interagieren kann:
Befehlsausführung handhaben
Erstellen Sie eine Funktion zur Ausführung von Befehlen und Erfassung der Ausgabe:
Claudes Tool-Aufrufe verarbeiten
Befehle aus Claudes Antworten extrahieren und ausführen:
Sicherheitsmaßnahmen implementieren
Validierung und Beschränkungen hinzufügen:
Fehler behandeln
Bei der Implementierung des Bash-Tools verschiedene Fehlerszenarien behandeln:
Best Practices für die Implementierung befolgen
Sicherheit
Das Bash-Tool bietet direkten Systemzugriff. Implementieren Sie diese wesentlichen Sicherheitsmaßnahmen:
- Ausführung in isolierten Umgebungen (Docker/VM)
- Implementierung von Befehlsfilterung und Allowlists
- Festlegung von Ressourcenlimits (CPU, Speicher, Festplatte)
- Protokollierung aller ausgeführten Befehle
Wichtige Empfehlungen
ulimit
verwenden, um Ressourcenbeschränkungen festzulegen- Gefährliche Befehle filtern (
sudo
,rm -rf
, etc.) - Mit minimalen Benutzerberechtigungen ausführen
- Alle Befehlsausführungen überwachen und protokollieren
Preise
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
Siehe Tool-Verwendung Preise für vollständige Preisdetails.
Häufige Muster
Entwicklungsworkflows
- Tests ausführen:
pytest && coverage report
- Projekte erstellen:
npm install && npm run build
- Git-Operationen:
git status && git add . && git commit -m "Nachricht"
Dateioperationen
- Daten verarbeiten:
wc -l *.csv && ls -lh *.csv
- Dateien durchsuchen:
find . -name "*.py" | xargs grep "Muster"
- Backups erstellen:
tar -czf backup.tar.gz ./data
Systemaufgaben
- Ressourcen prüfen:
df -h && free -m
- Prozessverwaltung:
ps aux | grep python
- Umgebungseinrichtung:
export PATH=$PATH:/neuer/pfad && echo $PATH
Einschränkungen
- Keine interaktiven Befehle: Kann
vim
,less
oder Passwort-Eingabeaufforderungen nicht handhaben - Keine GUI-Anwendungen: Nur Befehlszeile
- Sitzungsbereich: Bleibt innerhalb der Unterhaltung bestehen, geht zwischen API-Aufrufen verloren
- Ausgabenlimits: Große Ausgaben können gekürzt werden
- Kein Streaming: Ergebnisse werden nach Abschluss zurückgegeben
Kombination mit anderen Tools
Das Bash-Tool ist am mächtigsten, wenn es mit dem Texteditor und anderen Tools kombiniert wird.