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
| Modelo | Versió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
Cómo funciona
La herramienta bash mantiene una sesión persistente:- Claude determina qué comando ejecutar
- Usted ejecuta el comando en un shell bash
- Devuelve la salida (stdout y stderr) a Claude
- El estado de la sesión persiste entre comandos (variables de entorno, directorio de trabajo)
Parámetros
| Parámetro | Requerido | Descripción |
|---|---|---|
command | Sí* | El comando bash a ejecutar |
restart | No | Establezca en true para reiniciar la sesión bash |
restart
Ejemplo de uso
Ejemplo de uso
Ejemplo: Automatización de múltiples pasos
Claude puede encadenar comandos para completar tareas complejas: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
Configurar un entorno bash
Cree una sesión bash persistente con la que Claude pueda interactuar:
2
Manejar la ejecución de comandos
Cree una función para ejecutar comandos y capturar la salida:
3
Procesar las llamadas de herramientas de Claude
Extraiga y ejecute comandos de las respuestas de Claude:
4
Implementar medidas de seguridad
Agregue validación y restricciones:
Manejar errores
Al implementar la herramienta bash, maneje varios escenarios de error:Tiempo de espera de ejecución de comando
Tiempo de espera de ejecución de comando
Si un comando tarda demasiado en ejecutarse:
Comando no encontrado
Comando no encontrado
Si un comando no existe:
Permiso denegado
Permiso denegado
Si hay problemas de permisos:
Seguir las mejores prácticas de implementación
Usar tiempos de espera de comando
Usar tiempos de espera de comando
Implemente tiempos de espera para evitar comandos colgados:
Mantener el estado de la sesión
Mantener el estado de la sesión
Mantenga la sesión bash persistente para mantener variables de entorno y directorio de trabajo:
Manejar salidas grandes
Manejar salidas grandes
Truncar salidas muy grandes para evitar problemas de límite de tokens:
Registrar todos los comandos
Registrar todos los comandos
Mantenga un registro de auditoría de comandos ejecutados:
Desinfectar salidas
Desinfectar salidas
Elimine información sensible de las salidas de comandos:
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
ulimitpara 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
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,lesso 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