Loading...
    • Guía para desarrolladores
    • Referencia de API
    • MCP
    • Recursos
    • Notas de la versión
    Search...
    ⌘K
    Primeros pasos
    Introducción a ClaudeInicio rápido
    Modelos y precios
    Descripción general de modelosElegir un modeloNovedades en Claude 4.5Migración a Claude 4.5Deprecación de modelosPrecios
    Construir con Claude
    Descripción general de característicasUsar la API de MessagesVentanas de contextoMejores prácticas de prompting
    Capacidades
    Almacenamiento en caché de promptsEdición de contextoPensamiento extendidoEsfuerzoStreaming de MessagesProcesamiento por lotesCitasSoporte multilingüeConteo de tokensEmbeddingsVisiónSoporte de PDFAPI de FilesResultados de búsquedaSalidas estructuradasComplemento de Google Sheets
    Herramientas
    Descripción generalCómo implementar el uso de herramientasUso eficiente de herramientas en tokensStreaming de herramientas de grano finoHerramienta BashHerramienta de ejecución de códigoLlamada de herramientas programáticaHerramienta de uso de computadoraHerramienta de editor de textoHerramienta de búsqueda webHerramienta de búsqueda webHerramienta de memoriaHerramienta de búsqueda de herramientas
    Habilidades del agente
    Descripción generalInicio rápidoMejores prácticasUsar habilidades con la API
    SDK del agente
    Descripción generalSDK de TypeScriptSDK de PythonGuía de migración
    Guías
    Entrada de streamingManejo de permisosGestión de sesionesSalidas estructuradas en el SDKAlojamiento del SDK del agenteModificar prompts del sistemaMCP en el SDKHerramientas personalizadasSuagentes en el SDKComandos de barra en el SDKHabilidades del agente en el SDKSeguimiento de costos y usoListas de tareasComplementos en el SDK
    MCP en la API
    Conector MCPServidores MCP remotos
    Claude en plataformas de terceros
    Amazon BedrockMicrosoft FoundryVertex AI
    Ingeniería de prompts
    Descripción generalGenerador de promptsUsar plantillas de promptsMejorador de promptsSé claro y directoUsar ejemplos (prompting multishot)Dejar pensar a Claude (CoT)Usar etiquetas XMLDale un rol a Claude (prompts del sistema)Rellenar la respuesta de ClaudeEncadenar prompts complejosConsejos de contexto largoConsejos de pensamiento extendido
    Probar y evaluar
    Definir criterios de éxitoDesarrollar casos de pruebaUsar la herramienta de evaluaciónReducir latencia
    Fortalecer protecciones
    Reducir alucinacionesAumentar consistencia de salidaMitigar ataques de jailbreakRechazos de streamingReducir fuga de promptsMantener a Claude en personaje
    Administración y monitoreo
    Descripción general de Admin APIAPI de uso y costosAPI de análisis de Claude Code
    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
    Herramientas

    Herramienta Bash

    La herramienta bash permite a Claude ejecutar comandos de shell en una sesión bash persistente, permitiendo operaciones del sistema, ejecución de scripts y automatización de línea de comandos.

    La herramienta bash permite a Claude ejecutar comandos de shell en una sesión bash persistente, permitiendo operaciones del sistema, ejecución de scripts y automatización de línea de comandos.

    Descripción general

    La herramienta bash proporciona a Claude:

    • Sesión bash persistente que mantiene el estado
    • Capacidad de ejecutar cualquier comando de shell
    • Acceso a variables de entorno y directorio de trabajo
    • Capacidades de encadenamiento de comandos y scripting

    Compatibilidad de modelos

    ModeloVersión de herramienta
    Modelos Claude 4 y Sonnet 3.7 (obsoleto)bash_20250124

    Las versiones anteriores de la herramienta no están garantizadas para ser compatibles hacia atrás con modelos más nuevos. Siempre use la versión de herramienta que corresponda a su versión de modelo.

    Casos de uso

    • Flujos de trabajo de desarrollo: Ejecutar comandos de compilación, pruebas y herramientas de desarrollo
    • Automatización del sistema: Ejecutar scripts, gestionar archivos, automatizar tareas
    • Procesamiento de datos: Procesar archivos, ejecutar scripts de análisis, gestionar conjuntos de datos
    • Configuración del entorno: Instalar paquetes, configurar entornos

    Inicio rápido

    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."}
        ]
    )

    Cómo funciona

    La herramienta bash mantiene una sesión persistente:

    1. Claude determina qué comando ejecutar
    2. Usted ejecuta el comando en un shell bash
    3. Devuelve la salida (stdout y stderr) a Claude
    4. El estado de la sesión persiste entre comandos (variables de entorno, directorio de trabajo)

    Parámetros

    ParámetroRequeridoDescripción
    commandSí*El comando bash a ejecutar
    restartNoEstablezca en true para reiniciar la sesión bash

    *Requerido a menos que use restart

    Ejemplo: Automatización de múltiples pasos

    Claude puede encadenar comandos para completar tareas complejas:

    # Solicitud del usuario
    "Install the requests library and create a simple Python script that fetches a joke from an API, then run it."
    
    # La herramienta de Claude usa:
    # 1. Instalar paquete
    {"command": "pip install requests"}
    
    # 2. Crear 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. Ejecutar script
    {"command": "python fetch_joke.py"}

    La sesión mantiene el estado entre comandos, por lo que los archivos creados en el paso 2 están disponibles en el paso 3.


    Implementar la herramienta bash

    La herramienta bash se implementa como una herramienta sin esquema. Al usar esta herramienta, no necesita proporcionar un esquema de entrada como con otras herramientas; el esquema está integrado en el modelo de Claude y no se puede modificar.

    1. 1

      Configurar un entorno bash

      Cree una sesión bash persistente con la que Claude pueda interactuar:

      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

      Manejar la ejecución de comandos

      Cree una función para ejecutar comandos y capturar la salida:

      def execute_command(self, command):
          # Enviar comando a bash
          self.process.stdin.write(command + '\n')
          self.process.stdin.flush()
          
          # Capturar salida con tiempo de espera
          output = self._read_output(timeout=10)
          return output
    3. 3

      Procesar las llamadas de herramientas de Claude

      Extraiga y ejecute comandos de las respuestas 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)
              
              # Devolver resultado a Claude
              tool_result = {
                  "type": "tool_result",
                  "tool_use_id": content.id,
                  "content": result
              }
    4. 4

      Implementar medidas de seguridad

      Agregue validación y restricciones:

      def validate_command(command):
          # Bloquear comandos peligrosos
          dangerous_patterns = ['rm -rf /', 'format', ':(){:|:&};:']
          for pattern in dangerous_patterns:
              if pattern in command:
                  return False, f"Command contains dangerous pattern: {pattern}"
          
          # Agregar más validación según sea necesario
          return True, None

    Manejar errores

    Al implementar la herramienta bash, maneje varios escenarios de error:

    Seguir las mejores prácticas de implementación

    Seguridad

    La herramienta bash proporciona acceso directo al sistema. Implemente estas medidas de seguridad esenciales:

    • Ejecutar en entornos aislados (Docker/VM)
    • Implementar filtrado de comandos y listas de permitidos
    • Establecer límites de recursos (CPU, memoria, disco)
    • Registrar todos los comandos ejecutados

    Recomendaciones clave

    • Use ulimit para establecer restricciones de recursos
    • Filtrar comandos peligrosos (sudo, rm -rf, etc.)
    • Ejecutar con permisos de usuario mínimos
    • Monitorear y registrar toda la ejecución de comandos

    Precios

    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

    Consulte precios de uso de herramientas para obtener detalles completos de precios.

    Patrones comunes

    Flujos de trabajo de desarrollo

    • Ejecutar pruebas: pytest && coverage report
    • Compilar proyectos: npm install && npm run build
    • Operaciones de Git: git status && git add . && git commit -m "message"

    Operaciones de archivos

    • Procesar datos: wc -l *.csv && ls -lh *.csv
    • Buscar archivos: find . -name "*.py" | xargs grep "pattern"
    • Crear copias de seguridad: tar -czf backup.tar.gz ./data

    Tareas del sistema

    • Verificar recursos: df -h && free -m
    • Gestión de procesos: ps aux | grep python
    • Configuración del entorno: export PATH=$PATH:/new/path && echo $PATH

    Limitaciones

    • Sin comandos interactivos: No puede manejar vim, less o solicitudes de contraseña
    • Sin aplicaciones GUI: Solo línea de comandos
    • Alcance de sesión: Persiste dentro de la conversación, se pierde entre llamadas de API
    • Límites de salida: Las salidas grandes pueden truncarse
    • Sin streaming: Resultados devueltos después de la finalización

    Combinar con otras herramientas

    La herramienta bash es más poderosa cuando se combina con el editor de texto y otras herramientas.

    Próximos pasos

    Descripción general del uso de herramientas

    Aprenda sobre el uso de herramientas con Claude

    Herramienta de editor de texto

    Ver y editar archivos de texto con Claude

    • Descripción general
    • Compatibilidad de modelos
    • Casos de uso
    • Inicio rápido
    • Cómo funciona
    • Parámetros
    • Ejemplo: Automatización de múltiples pasos
    • Implementar la herramienta bash
    • Manejar errores
    • Seguir las mejores prácticas de implementación
    • Seguridad
    • Recomendaciones clave
    • Precios
    • Patrones comunes
    • Flujos de trabajo de desarrollo
    • Operaciones de archivos
    • Tareas del sistema
    • Limitaciones
    • Combinar con otras herramientas
    • Próximos pasos