Loading...
    • Guia do Desenvolvedor
    • Referência da API
    • MCP
    • Recursos
    • Notas de lançamento
    Search...
    ⌘K
    Primeiros passos
    Introdução ao ClaudeInício rápido
    Modelos e preços
    Visão geral dos modelosEscolhendo um modeloNovidades no Claude 4.5Migrando para Claude 4.5Descontinuação de modelosPreços
    Construir com Claude
    Visão geral de recursosUsando a API MessagesJanelas de contextoMelhores práticas de prompting
    Capacidades
    Cache de promptEdição de contextoPensamento estendidoEsforçoStreaming de mensagensProcessamento em loteCitaçõesSuporte multilíngueContagem de tokensEmbeddingsVisãoSuporte a PDFAPI de arquivosResultados de buscaSaídas estruturadas
    Ferramentas
    Visão geralComo implementar o uso de ferramentasStreaming de ferramentas granularFerramenta BashFerramenta de execução de códigoChamada de ferramenta programáticaFerramenta de uso do computadorFerramenta de editor de textoFerramenta de busca na webFerramenta de pesquisa na webFerramenta de memóriaFerramenta de busca de ferramentas
    Habilidades do agente
    Visão geralInício rápidoMelhores práticasUsando habilidades com a API
    SDK do agente
    Visão geralInício rápidoSDK TypeScriptTypeScript V2 (preview)SDK PythonGuia de migração
    MCP na API
    Conector MCPServidores MCP remotos
    Claude em plataformas de terceiros
    Amazon BedrockMicrosoft FoundryVertex AI
    Engenharia de prompts
    Visão geralGerador de promptsUsar modelos de promptsMelhorador de promptsSeja claro e diretoUse exemplos (prompting multishot)Deixe Claude pensar (CoT)Use tags XMLDê um papel ao Claude (prompts do sistema)Preencha a resposta do ClaudeEncadeie prompts complexosDicas de contexto longoDicas de pensamento estendido
    Testar e avaliar
    Definir critérios de sucessoDesenvolver casos de testeUsando a ferramenta de avaliaçãoReduzindo latência
    Fortalecer proteções
    Reduzir alucinaçõesAumentar consistência de saídaMitigar jailbreaksRecusas de streamingReduzir vazamento de promptManter Claude em personagem
    Administração e monitoramento
    Visão geral da API de administraçãoAPI de uso e custoAPI de análise de código Claude
    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
    Ferramentas

    Ferramenta bash

    A ferramenta bash permite que Claude execute comandos shell em uma sessão bash persistente, permitindo operações de sistema, execução de scripts e automação de linha de comando.
    • Visão geral
    • Compatibilidade de modelos
    • Casos de uso
    • Início rápido
    • Como funciona
    • Parâmetros
    • Exemplo: Automação em várias etapas
    • Implementar a ferramenta bash
    • Lidar com erros
    • Seguir as melhores práticas de implementação
    • Segurança
    • Recomendações principais
    • Preços
    • Padrões comuns
    • Fluxos de trabalho de desenvolvimento
    • Operações de arquivo
    • Tarefas de sistema
    • Limitações
    • Combinando com outras ferramentas
    • Próximos passos

    A ferramenta bash permite que Claude execute comandos shell em uma sessão bash persistente, permitindo operações de sistema, execução de scripts e automação de linha de comando.

    Visão geral

    A ferramenta bash fornece a Claude:

    • Sessão bash persistente que mantém o estado
    • Capacidade de executar qualquer comando shell
    • Acesso a variáveis de ambiente e diretório de trabalho
    • Capacidades de encadeamento de comandos e scripts

    Compatibilidade de modelos

    ModeloVersão da ferramenta
    Modelos Claude 4 e Sonnet 3.7 (descontinuado)bash_20250124

    Versões mais antigas da ferramenta não são garantidas como compatíveis com versões mais recentes de modelos. Sempre use a versão da ferramenta que corresponde à sua versão de modelo.

    Casos de uso

    • Fluxos de trabalho de desenvolvimento: Execute comandos de compilação, testes e ferramentas de desenvolvimento
    • Automação de sistema: Execute scripts, gerencie arquivos, automatize tarefas
    • Processamento de dados: Processe arquivos, execute scripts de análise, gerencie conjuntos de dados
    • Configuração de ambiente: Instale pacotes, configure ambientes

    Início rápido

    Como funciona

    A ferramenta bash mantém uma sessão persistente:

    1. Claude determina qual comando executar
    2. Você executa o comando em um shell bash
    3. Retorna a saída (stdout e stderr) para Claude
    4. O estado da sessão persiste entre comandos (variáveis de ambiente, diretório de trabalho)

    Parâmetros

    ParâmetroObrigatórioDescrição
    commandSim*O comando bash a executar
    restartNãoDefina como true para reiniciar a sessão bash

    *Obrigatório a menos que esteja usando restart

    Exemplo: Automação em várias etapas

    Claude pode encadear comandos para completar tarefas complexas:

    # Solicitação do usuário
    "Install the requests library and create a simple Python script that fetches a joke from an API, then run it."
    
    # A ferramenta de Claude usa:
    # 1. Instalar pacote
    {"command": "pip install requests"}
    
    # 2. Criar 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. Executar script
    {"command": "python fetch_joke.py"}

    A sessão mantém o estado entre comandos, portanto, os arquivos criados na etapa 2 estão disponíveis na etapa 3.


    Implementar a ferramenta bash

    A ferramenta bash é implementada como uma ferramenta sem esquema. Ao usar esta ferramenta, você não precisa fornecer um esquema de entrada como com outras ferramentas; o esquema é incorporado ao modelo de Claude e não pode ser modificado.

    Lidar com erros

    Ao implementar a ferramenta bash, trate vários cenários de erro:

    Seguir as melhores práticas de implementação

    Segurança

    A ferramenta bash fornece acesso direto ao sistema. Implemente estas medidas de segurança essenciais:

    • Executar em ambientes isolados (Docker/VM)
    • Implementar filtragem de comandos e listas de permissão
    • Definir limites de recursos (CPU, memória, disco)
    • Registrar todos os comandos executados

    Recomendações principais

    • Use ulimit para definir restrições de recursos
    • Filtre comandos perigosos (sudo, rm -rf, etc.)
    • Execute com permissões mínimas de usuário
    • Monitore e registre toda execução de comando

    Preços

    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

    Veja preços de uso de ferramentas para detalhes completos de preços.

    Padrões comuns

    Fluxos de trabalho de desenvolvimento

    • Executar testes: pytest && coverage report
    • Compilar projetos: npm install && npm run build
    • Operações Git: git status && git add . && git commit -m "message"

    Operações de arquivo

    • Processar dados: wc -l *.csv && ls -lh *.csv
    • Pesquisar arquivos: find . -name "*.py" | xargs grep "pattern"
    • Criar backups: tar -czf backup.tar.gz ./data

    Tarefas de sistema

    • Verificar recursos: df -h && free -m
    • Gerenciamento de processos: ps aux | grep python
    • Configuração de ambiente: export PATH=$PATH:/new/path && echo $PATH

    Limitações

    • Sem comandos interativos: Não pode lidar com vim, less ou prompts de senha
    • Sem aplicações GUI: Apenas linha de comando
    • Escopo de sessão: Persiste dentro da conversa, perdido entre chamadas de API
    • Limites de saída: Saídas grandes podem ser truncadas
    • Sem streaming: Resultados retornados após conclusão

    Combinando com outras ferramentas

    A ferramenta bash é mais poderosa quando combinada com o editor de texto e outras ferramentas.

    Próximos passos

    Visão geral de uso de ferramentas

    Saiba mais sobre uso de ferramentas com 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

      Configurar um ambiente bash

      Crie uma sessão bash persistente com a qual Claude possa interagir:

      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

      Lidar com execução de comandos

      Crie uma função para executar comandos e capturar a saída:

      def execute_command(self, command):
          # Enviar comando para bash
          self.process.stdin.write(command + '\n')
          self.process.stdin.flush()
          
          # Capturar saída com timeout
          output = self._read_output(timeout=10)
          return output
    3. 3

      Processar chamadas de ferramentas de Claude

      Extraia e execute comandos das respostas de 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)
              
              # Retornar resultado para Claude
              tool_result = {
                  "type": "tool_result",
                  "tool_use_id": content.id,
                  "content": result
              }
    4. 4

      Implementar medidas de segurança

      Adicione validação e restrições:

      def validate_command(command):
          # Bloquear comandos perigosos
          dangerous_patterns = ['rm -rf /', 'format', ':(){:|:&};:']
          for pattern in dangerous_patterns:
              if pattern in command:
                  return False, f"Command contains dangerous pattern: {pattern}"
          
          # Adicionar mais validação conforme necessário
          return True, None

    Ferramenta editor de texto

    Visualize e edite arquivos de texto com Claude