Ü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 Skriptfähigkeiten
Tool-Versionen
Modell | Tool-Version |
---|---|
Claude 4 Modelle und Sonnet 3.7 | bash_20250124 |
Claude Sonnet 3.5 (veraltet) | bash_20241022 |
Claude Sonnet 3.5 (veraltet) 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 Modellen 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 |
restart
Beispielverwendung
Beispielverwendung
Beispiel: Mehrstufige Automatisierung
Claude kann Befehle verketten, um komplexe Aufgaben zu erledigen: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.1
Eine Bash-Umgebung einrichten
Erstellen Sie eine persistente Bash-Sitzung, mit der Claude interagieren kann:
2
Befehlsausführung handhaben
Erstellen Sie eine Funktion zur Ausführung von Befehlen und Erfassung der Ausgabe:
3
Claudes Tool-Aufrufe verarbeiten
Befehle aus Claudes Antworten extrahieren und ausführen:
4
Sicherheitsmaßnahmen implementieren
Validierung und Einschränkungen hinzufügen:
Fehler behandeln
Bei der Implementierung des Bash-Tools sollten verschiedene Fehlerszenarien behandelt werden:Timeout bei Befehlsausführung
Timeout bei Befehlsausführung
Wenn ein Befehl zu lange dauert:
Befehl nicht gefunden
Befehl nicht gefunden
Wenn ein Befehl nicht existiert:
Berechtigung verweigert
Berechtigung verweigert
Bei Berechtigungsproblemen:
Bewährte Implementierungspraktiken befolgen
Befehlstimeouts verwenden
Befehlstimeouts verwenden
Timeouts implementieren, um hängende Befehle zu verhindern:
Sitzungszustand beibehalten
Sitzungszustand beibehalten
Die Bash-Sitzung persistent halten, um Umgebungsvariablen und Arbeitsverzeichnis beizubehalten:
Große Ausgaben handhaben
Große Ausgaben handhaben
Sehr große Ausgaben kürzen, um Token-Limit-Probleme zu vermeiden:
Alle Befehle protokollieren
Alle Befehle protokollieren
Ein Audit-Trail der ausgeführten Befehle führen:
Ausgaben bereinigen
Ausgaben bereinigen
Sensible Informationen aus Befehlsausgaben entfernen:
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
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 "message"
Dateioperationen
- Daten verarbeiten:
wc -l *.csv && ls -lh *.csv
- Dateien durchsuchen:
find . -name "*.py" | xargs grep "pattern"
- 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:/new/path && echo $PATH
Einschränkungen
- Keine interaktiven Befehle: Kann
vim
,less
oder Passwort-Eingabeaufforderungen nicht handhaben - Keine GUI-Anwendungen: Nur Kommandozeile
- 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