Übersicht
Das Bash-Tool bietet Claude:- Persistente Bash-Sitzung, die den Zustand beibehält
- Möglichkeit, jeden Shell-Befehl auszuführen
- Zugriff auf Umgebungsvariablen und Arbeitsverzeichnis
- Befehlsverkettung und Skriptfunktionen
Modellkompatibilität
| Modell | Tool-Version |
|---|---|
| Claude 4-Modelle und Sonnet 3.7 (veraltet) | bash_20250124 |
Ältere Tool-Versionen sind nicht garantiert rückwärtskompatibel mit neueren Modellen. Verwenden Sie immer die Tool-Version, die Ihrer Modellversion entspricht.
Anwendungsfälle
- Entwicklungs-Workflows: Führen Sie Build-Befehle, Tests und Entwicklungstools aus
- Systemautomatisierung: Führen Sie Skripte aus, verwalten Sie Dateien, automatisieren Sie Aufgaben
- Datenverarbeitung: Verarbeiten Sie Dateien, führen Sie Analyseskripte aus, verwalten Sie Datensätze
- Umgebungssetup: Installieren Sie Pakete, konfigurieren Sie Umgebungen
Schnellstart
Funktionsweise
Das Bash-Tool verwaltet eine persistente Sitzung:- 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 erhalten (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:Implementieren Sie das Bash-Tool
Das Bash-Tool wird als schemafreies Tool implementiert. Bei der Verwendung dieses Tools müssen Sie kein Eingabeschema wie bei anderen Tools bereitstellen. Das Schema ist in Claudes Modell integriert und kann nicht geändert werden.1
Richten Sie eine Bash-Umgebung ein
Erstellen Sie eine persistente Bash-Sitzung, mit der Claude interagieren kann:
2
Behandeln Sie die Befehlsausführung
Erstellen Sie eine Funktion zum Ausführen von Befehlen und Erfassen der Ausgabe:
3
Verarbeiten Sie Claudes Tool-Aufrufe
Extrahieren und führen Sie Befehle aus Claudes Antworten aus:
4
Implementieren Sie Sicherheitsmaßnahmen
Fügen Sie Validierung und Einschränkungen hinzu:
Behandeln Sie Fehler
Bei der Implementierung des Bash-Tools müssen Sie verschiedene Fehlerszenarien behandeln: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:
Zugriff verweigert
Zugriff verweigert
Wenn es Berechtigungsprobleme gibt:
Befolgen Sie Best Practices bei der Implementierung
Verwenden Sie Befehls-Timeouts
Verwenden Sie Befehls-Timeouts
Implementieren Sie Timeouts, um hängende Befehle zu verhindern:
Behalten Sie den Sitzungszustand bei
Behalten Sie den Sitzungszustand bei
Halten Sie die Bash-Sitzung persistent, um Umgebungsvariablen und Arbeitsverzeichnis beizubehalten:
Behandeln Sie große Ausgaben
Behandeln Sie große Ausgaben
Kürzen Sie sehr große Ausgaben, um Token-Limit-Probleme zu vermeiden:
Protokollieren Sie alle Befehle
Protokollieren Sie alle Befehle
Führen Sie ein Audit-Trail aller ausgeführten Befehle:
Bereinigen Sie Ausgaben
Bereinigen Sie Ausgaben
Entfernen Sie vertrauliche Informationen aus Befehlsausgaben:
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
- Verwenden Sie
ulimit, um Ressourcenbeschränkungen festzulegen - Filtern Sie gefährliche Befehle (
sudo,rm -rf, usw.) - Führen Sie mit minimalen Benutzerberechtigungen aus
- Überwachen und protokollieren Sie alle Befehlsausführungen
Preisgestaltung
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
Entwicklungs-Workflows
- Tests ausführen:
pytest && coverage report - Projekte erstellen:
npm install && npm run build - Git-Operationen:
git status && git add . && git commit -m "message"
Dateivorgänge
- Daten verarbeiten:
wc -l *.csv && ls -lh *.csv - Dateien durchsuchen:
find . -name "*.py" | xargs grep "pattern" - Sicherungen erstellen:
tar -czf backup.tar.gz ./data
Systemaufgaben
- Ressourcen überprüfen:
df -h && free -m - Prozessverwaltung:
ps aux | grep python - Umgebungssetup:
export PATH=$PATH:/new/path && echo $PATH
Einschränkungen
- Keine interaktiven Befehle: Kann
vim,lessoder Passwort-Eingabeaufforderungen nicht verarbeiten - Keine GUI-Anwendungen: Nur Befehlszeile
- Sitzungsumfang: Bleibt innerhalb des Gesprächs erhalten, geht zwischen API-Aufrufen verloren
- Ausgabelimits: Große Ausgaben können gekürzt werden
- Kein Streaming: Ergebnisse werden nach Abschluss zurückgegeben