Loading...
    • Entwicklerleitfaden
    • API-Referenz
    • MCP
    • Ressourcen
    • Versionshinweise
    Search...
    ⌘K
    Erste Schritte
    Einführung in ClaudeSchnelleinstieg
    Modelle & Preise
    ModellübersichtModell auswählenNeuerungen in Claude 4.5Migration zu Claude 4.5ModellabschreibungenPreise
    Mit Claude entwickeln
    FunktionsübersichtMessages API verwendenKontextfensterBest Practices für Prompts
    Fähigkeiten
    Prompt-CachingKontext-BearbeitungErweitertes DenkenAufwandStreaming MessagesBatch-VerarbeitungZitateMehrsprachige UnterstützungToken-ZählungEmbeddingsVisionPDF-UnterstützungFiles APISuchergebnisseStrukturierte AusgabenGoogle Sheets Add-on
    Tools
    ÜbersichtTool-Nutzung implementierenToken-effiziente Tool-NutzungFeingranulares Tool-StreamingBash-ToolCode-Ausführungs-ToolProgrammatischer Tool-AufrufComputer-Use-ToolText-Editor-ToolWeb-Fetch-ToolWeb-Such-ToolMemory-ToolTool-Such-Tool
    Agent Skills
    ÜbersichtSchnelleinstiegBest PracticesSkills mit der API verwenden
    Agent SDK
    ÜbersichtTypeScript SDKPython SDKMigrationsleitfaden
    Leitfäden
    Streaming-EingabeBerechtigungen handhabenSitzungsverwaltungStrukturierte Ausgaben im SDKAgent SDK hostenSystem-Prompts ändernMCP im SDKBenutzerdefinierte ToolsSubagents im SDKSchrägstrich-Befehle im SDKAgent Skills im SDKKosten und Nutzung verfolgenTodo-ListenPlugins im SDK
    MCP in der API
    MCP-ConnectorRemote MCP-Server
    Claude auf Drittanbieter-Plattformen
    Amazon BedrockMicrosoft FoundryVertex AI
    Prompt Engineering
    ÜbersichtPrompt-GeneratorPrompt-Vorlagen verwendenPrompt-VerbessererKlar und direkt seinBeispiele verwenden (Multishot Prompting)Claude denken lassen (CoT)XML-Tags verwendenClaude eine Rolle geben (System Prompts)Claudeś Antwort vorausfüllenKomplexe Prompts verkettenTipps für langen KontextTipps für erweitertes Denken
    Testen & Evaluieren
    Erfolgskriterien definierenTestfälle entwickelnEvaluierungs-Tool verwendenLatenz reduzieren
    Schutzmaßnahmen verstärken
    Halluzinationen reduzierenAusgabekonsistenz erhöhenJailbreaks abschwächenStreaming-AblehnungenPrompt-Lecks reduzierenClaude im Charakter halten
    Verwaltung und Überwachung
    Admin API ÜbersichtNutzungs- und Kosten-APIClaude Code Analytics API
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Tools

    Bash-Tool

    Das Bash-Tool ermöglicht Claude, Shell-Befehle in einer persistenten Bash-Sitzung auszuführen, was Systemoperationen, Skriptausführung und Befehlszeilenautomatisierung ermöglicht.
    • Übersicht
    • Modellkompatibilität
    • Anwendungsfälle
    • Schnellstart
    • Funktionsweise
    • Parameter
    • Beispiel: Mehrstufige Automatisierung
    • Implementieren Sie das Bash-Tool
    • Behandeln Sie Fehler
    • Befolgen Sie Best Practices bei der Implementierung
    • Sicherheit
    • Wichtige Empfehlungen
    • Preisgestaltung
    • Häufige Muster
    • Entwicklungs-Workflows
    • Dateivorgänge
    • Systemaufgaben
    • Einschränkungen
    • Kombinieren mit anderen Tools
    • Nächste Schritte

    Das Bash-Tool ermöglicht Claude, Shell-Befehle in einer persistenten Bash-Sitzung auszuführen, was Systemoperationen, Skriptausführung und Befehlszeilenautomatisierung ermöglicht.

    Ü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

    ModellTool-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:

    1. Claude bestimmt, welcher Befehl ausgeführt werden soll
    2. Sie führen den Befehl in einer Bash-Shell aus
    3. Geben Sie die Ausgabe (stdout und stderr) an Claude zurück
    4. Der Sitzungszustand bleibt zwischen Befehlen erhalten (Umgebungsvariablen, Arbeitsverzeichnis)

    Parameter

    ParameterErforderlichBeschreibung
    commandJa*Der auszuführende Bash-Befehl
    restartNeinAuf true setzen, um die Bash-Sitzung neu zu starten

    *Erforderlich, es sei denn, Sie verwenden restart

    Beispiel: Mehrstufige Automatisierung

    Claude kann Befehle verketten, um komplexe Aufgaben zu erledigen:

    # Benutzeranfrage
    "Install the requests library and create a simple Python script that fetches a joke from an API, then run it."
    
    # Claudes Tool verwendet:
    # 1. Paket installieren
    {"command": "pip install requests"}
    
    # 2. Skript erstellen
    {"command": "cat > fetch_joke.py << 'EOF'\nimport requests\nresponse = requests.get('https://official-joke-api.appspot.com/random_joke')\njoke = response.json()\nprint(f\"Setup: {joke['setup']}\")\nprint(f\"Punchline: {joke['punchline']}\")\nEOF"}
    
    # 3. Skript ausführen
    {"command": "python fetch_joke.py"}

    Die Sitzung behält den Zustand zwischen Befehlen bei, sodass in Schritt 2 erstellte Dateien in Schritt 3 verfügbar sind.


    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.

    Behandeln Sie Fehler

    Bei der Implementierung des Bash-Tools müssen Sie verschiedene Fehlerszenarien behandeln:

    Befolgen Sie Best Practices bei der Implementierung

    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

    Siehe Tool-Use-Preisgestaltung für vollständige Preisdetails.

    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, less oder 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

    Kombinieren mit anderen Tools

    Das Bash-Tool ist am leistungsstärksten, wenn es mit dem Text-Editor und anderen Tools kombiniert wird.

    Nächste Schritte

    Tool-Use-Übersicht

    Erfahren Sie mehr über Tool-Use mit Claude

    import anthropic
    
    client = anthropic.Anthropic()
    
    response = client.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=1024,
        tools=[
            {
                "type": "bash_20250124",
                "name": "bash"
            }
        ],
        messages=[
            {"role": "user", "content": "List all Python files in the current directory."}
        ]
    )
    1. 1

      Richten Sie eine Bash-Umgebung ein

      Erstellen Sie eine persistente Bash-Sitzung, mit der Claude interagieren kann:

      import subprocess
      import threading
      import queue
      
      class BashSession:
          def __init__(self):
              self.process = subprocess.Popen(
                  ['/bin/bash'],
                  stdin=subprocess.PIPE,
                  stdout=subprocess.PIPE,
                  stderr=subprocess.PIPE,
                  text=True,
                  bufsize=0
              )
              self.output_queue = queue.Queue()
              self.error_queue = queue.Queue()
              self._start_readers()
    2. 2

      Behandeln Sie die Befehlsausführung

      Erstellen Sie eine Funktion zum Ausführen von Befehlen und Erfassen der Ausgabe:

      def execute_command(self, command):
          # Befehl an Bash senden
          self.process.stdin.write(command + '\n')
          self.process.stdin.flush()
          
          # Ausgabe mit Timeout erfassen
          output = self._read_output(timeout=10)
          return output
    3. 3

      Verarbeiten Sie Claudes Tool-Aufrufe

      Extrahieren und führen Sie Befehle aus Claudes Antworten aus:

      for content in response.content:
          if content.type == "tool_use" and content.name == "bash":
              if content.input.get("restart"):
                  bash_session.restart()
                  result = "Bash session restarted"
              else:
                  command = content.input.get("command")
                  result = bash_session.execute_command(command)
              
              # Ergebnis an Claude zurückgeben
              tool_result = {
                  "type": "tool_result",
                  "tool_use_id": content.id,
                  "content": result
              }
    4. 4

      Implementieren Sie Sicherheitsmaßnahmen

      Fügen Sie Validierung und Einschränkungen hinzu:

      def validate_command(command):
          # Gefährliche Befehle blockieren
          dangerous_patterns = ['rm -rf /', 'format', ':(){:|:&};:']
          for pattern in dangerous_patterns:
              if pattern in command:
                  return False, f"Command contains dangerous pattern: {pattern}"
          
          # Fügen Sie weitere Validierungen nach Bedarf hinzu
          return True, None

    Text-Editor-Tool

    Anzeigen und Bearbeiten von Textdateien mit Claude