Loading...
    • Guida per sviluppatori
    • Riferimento API
    • MCP
    • Risorse
    • Note sulla versione
    Search...
    ⌘K
    Primi passi
    Introduzione a ClaudeAvvio rapido
    Modelli e prezzi
    Panoramica dei modelliScelta di un modelloNovità in Claude 4.6Guida alla migrazioneDeprecazioni dei modelliPrezzi
    Crea con Claude
    Panoramica delle funzioniUtilizzo dell'API MessagesGestione dei motivi di arrestoBest practice per i prompt
    Capacità del modello
    Extended thinkingAdaptive thinkingEffortFast mode (anteprima di ricerca)Output strutturatiCitazioniStreaming dei messaggiElaborazione batchSupporto PDFRisultati di ricercaSupporto multilingueEmbeddingsVision
    Strumenti
    PanoramicaCome implementare l'uso degli strumentiStrumento di ricerca webStrumento di recupero webStrumento di esecuzione del codiceStrumento di memoriaStrumento BashStrumento Computer useStrumento editor di testo
    Infrastruttura degli strumenti
    Ricerca strumentiChiamata programmatica degli strumentiStreaming granulare degli strumenti
    Gestione del contesto
    Finestre di contestoCompattazioneModifica del contestoPrompt cachingConteggio dei token
    File e risorse
    API Files
    Agent Skills
    PanoramicaAvvio rapidoBest practiceSkills per l'aziendaUtilizzo di Skills con l'API
    Agent SDK
    PanoramicaAvvio rapidoTypeScript SDKTypeScript V2 (anteprima)Python SDKGuida alla migrazione
    MCP nell'API
    Connettore MCPServer MCP remoti
    Claude su piattaforme di terze parti
    Amazon BedrockMicrosoft FoundryVertex AI
    Prompt engineering
    PanoramicaGeneratore di promptUsa modelli di promptMiglioratore di promptSii chiaro e direttoUsa esempi (multishot prompting)Lascia che Claude pensi (CoT)Usa tag XMLDai a Claude un ruolo (prompt di sistema)Concatena prompt complessiSuggerimenti per il contesto lungoSuggerimenti per extended thinking
    Test e valutazione
    Definisci criteri di successoSviluppa casi di testUtilizzo dello strumento di valutazioneRiduzione della latenza
    Rafforza i guardrail
    Riduci le allucinazioniAumenta la coerenza dell'outputMitiga i jailbreakStreaming dei rifiutiRiduci la perdita di promptMantieni Claude nel personaggio
    Amministrazione e monitoraggio
    Panoramica dell'API AdminResidenza dei datiWorkspaceAPI di utilizzo e costiAPI Claude Code AnalyticsZero Data Retention
    Console
    Log in
    Loading...
    Loading...
    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
    Strumenti

    Strumento bash

    Lo strumento bash consente a Claude di eseguire comandi shell in una sessione bash persistente, permettendo operazioni di sistema, esecuzione di script e automazione da riga di comando.

    Lo strumento bash consente a Claude di eseguire comandi shell in una sessione bash persistente, permettendo operazioni di sistema, esecuzione di script e automazione da riga di comando.

    Panoramica

    Lo strumento bash fornisce a Claude:

    • Sessione bash persistente che mantiene lo stato
    • Capacità di eseguire qualsiasi comando shell
    • Accesso alle variabili di ambiente e alla directory di lavoro
    • Capacità di concatenamento di comandi e scripting

    Compatibilità dei modelli

    ModelloVersione dello strumento
    Modelli Claude 4 e Sonnet 3.7 (deprecato)bash_20250124

    Le versioni precedenti dello strumento non sono garantite essere retrocompatibili con i modelli più recenti. Utilizza sempre la versione dello strumento che corrisponde alla versione del tuo modello.

    Casi d'uso

    • Flussi di lavoro di sviluppo: Esegui comandi di build, test e strumenti di sviluppo
    • Automazione del sistema: Esegui script, gestisci file, automatizza attività
    • Elaborazione dei dati: Elabora file, esegui script di analisi, gestisci dataset
    • Configurazione dell'ambiente: Installa pacchetti, configura ambienti

    Avvio rapido

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

    Come funziona

    Lo strumento bash mantiene una sessione persistente:

    1. Claude determina quale comando eseguire
    2. Esegui il comando in una shell bash
    3. Restituisci l'output (stdout e stderr) a Claude
    4. Lo stato della sessione persiste tra i comandi (variabili di ambiente, directory di lavoro)

    Parametri

    ParametroObbligatorioDescrizione
    commandSì*Il comando bash da eseguire
    restartNoImposta su true per riavviare la sessione bash

    *Obbligatorio a meno che non si utilizzi restart

    Esempio: Automazione multi-step

    Claude può concatenare comandi per completare attività complesse:

    # Richiesta dell'utente
    "Install the requests library and create a simple Python script that fetches a joke from an API, then run it."
    
    # Lo strumento di Claude utilizza:
    # 1. Installa il pacchetto
    {"command": "pip install requests"}
    
    # 2. Crea lo script
    {"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. Esegui lo script
    {"command": "python fetch_joke.py"}

    La sessione mantiene lo stato tra i comandi, quindi i file creati nel passaggio 2 sono disponibili nel passaggio 3.


    Implementare lo strumento bash

    Lo strumento bash è implementato come uno strumento senza schema. Quando utilizzi questo strumento, non è necessario fornire uno schema di input come con altri strumenti; lo schema è integrato nel modello di Claude e non può essere modificato.

    1. 1

      Configura un ambiente bash

      Crea una sessione bash persistente con cui Claude può interagire:

      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

      Gestisci l'esecuzione dei comandi

      Crea una funzione per eseguire comandi e catturare l'output:

      def execute_command(self, command):
          # Invia il comando a bash
          self.process.stdin.write(command + '\n')
          self.process.stdin.flush()
          
          # Cattura l'output con timeout
          output = self._read_output(timeout=10)
          return output
    3. 3

      Elabora le chiamate degli strumenti di Claude

      Estrai ed esegui i comandi dalle risposte di Claude:

      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)
              
              # Restituisci il risultato a Claude
              tool_result = {
                  "type": "tool_result",
                  "tool_use_id": content.id,
                  "content": result
              }
    4. 4

      Implementa misure di sicurezza

      Aggiungi convalida e restrizioni:

      def validate_command(command):
          # Blocca i comandi pericolosi
          dangerous_patterns = ['rm -rf /', 'format', ':(){:|:&};:']
          for pattern in dangerous_patterns:
              if pattern in command:
                  return False, f"Command contains dangerous pattern: {pattern}"
          
          # Aggiungi ulteriore convalida secondo necessità
          return True, None

    Gestisci gli errori

    Quando implementi lo strumento bash, gestisci vari scenari di errore:

    Segui le migliori pratiche di implementazione

    Sicurezza

    Lo strumento bash fornisce accesso diretto al sistema. Implementa queste misure di sicurezza essenziali:

    • Esecuzione in ambienti isolati (Docker/VM)
    • Implementazione del filtraggio dei comandi e delle liste di autorizzazione
    • Impostazione dei limiti di risorse (CPU, memoria, disco)
    • Registrazione di tutti i comandi eseguiti

    Raccomandazioni chiave

    • Utilizza ulimit per impostare vincoli di risorse
    • Filtra i comandi pericolosi (sudo, rm -rf, ecc.)
    • Esegui con permessi utente minimi
    • Monitora e registra tutta l'esecuzione dei comandi

    Prezzi

    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

    Vedi prezzi dell'uso degli strumenti per i dettagli completi sui prezzi.

    Modelli comuni

    Flussi di lavoro di sviluppo

    • Esecuzione di test: pytest && coverage report
    • Costruzione di progetti: npm install && npm run build
    • Operazioni Git: git status && git add . && git commit -m "message"

    Operazioni su file

    • Elaborazione dei dati: wc -l *.csv && ls -lh *.csv
    • Ricerca di file: find . -name "*.py" | xargs grep "pattern"
    • Creazione di backup: tar -czf backup.tar.gz ./data

    Attività di sistema

    • Verifica delle risorse: df -h && free -m
    • Gestione dei processi: ps aux | grep python
    • Configurazione dell'ambiente: export PATH=$PATH:/new/path && echo $PATH

    Limitazioni

    • Nessun comando interattivo: Non può gestire vim, less o richieste di password
    • Nessuna applicazione GUI: Solo riga di comando
    • Ambito della sessione: Persiste all'interno della conversazione, perso tra le chiamate API
    • Limiti di output: Gli output di grandi dimensioni possono essere troncati
    • Nessuno streaming: I risultati vengono restituiti dopo il completamento

    Combinazione con altri strumenti

    Lo strumento bash è più potente quando combinato con l'editor di testo e altri strumenti.

    Passaggi successivi

    Panoramica dell'uso degli strumenti

    Scopri l'uso degli strumenti con Claude

    Strumento editor di testo

    Visualizza e modifica file di testo con Claude

    Was this page helpful?

    • Panoramica
    • Compatibilità dei modelli
    • Casi d'uso
    • Avvio rapido
    • Come funziona
    • Parametri
    • Esempio: Automazione multi-step
    • Implementare lo strumento bash
    • Gestisci gli errori
    • Segui le migliori pratiche di implementazione
    • Sicurezza
    • Raccomandazioni chiave
    • Prezzi
    • Modelli comuni
    • Flussi di lavoro di sviluppo
    • Operazioni su file
    • Attività di sistema
    • Limitazioni
    • Combinazione con altri strumenti
    • Passaggi successivi