

# Ejecución de Shell
<a name="runtime-shell-execution"></a>

Amazon Bedrock AgentCore Runtime le permite ejecutar comandos de shell dentro de la sesión de un agente en ejecución. Hay dos modos disponibles según su caso de uso:

One-shot ejecución de comandos - `InvokeAgentRuntimeCommand`   
Ejecuta un solo comando HTTP/2, stdout/stderr transmite y devuelve el código de salida. Cada comando inicia un nuevo proceso de shell sin un estado persistente. Ideal para canalizaciones, CI/CD compuertas y operaciones deterministas automatizadas.

Carcasas interactivas (terminales) - `InvokeAgentRuntimeCommandShell`   
Abre una sesión de terminal persistente WebSocket con el estado completo del shell (variables de entorno, directorio de trabajo, historial). Soporta la reconexión mediante`shellId`. Ideal para la depuración, la inspección del entorno y las interfaces de usuario de los terminales.

 **Comparación de funciones** 


| Característica | One-shot (`InvokeAgentRuntimeCommand`) | Interactivo (`InvokeAgentRuntimeCommandShell`) | 
| --- | --- | --- | 
| Protocolo | HTTP/2 (flujo de solicitud-respuesta) | WebSocket (conexión persistente) | 
| Estado de la carcasa | Sin estado: cada comando inicia un proceso nuevo | Persistente: el entorno, el directorio de trabajo y el historial se transmiten entre los comandos | 
| Formato de salida | Eventos estructurados (`contentStart`,`contentDelta`, `contentStop` con código de salida) | Marcos binarios (terminal sin procesar I/O : admite colores, control del cursor y aplicaciones de pantalla completa) | 
| Reconexión | No, cada llamada es independiente | Sí, a través de `shellId`  | 
| Duración | Tiempo de espera configurable (de 1 a 3.600 segundos) | 1 hora como máximo (vuelve a conectarte con el mismo para continuar) `shellId` | 

 **Elegir el modo correcto** 


| Utilice la ejecución de una sola vez cuando... | Usa conchas interactivas cuando... | 
| --- | --- | 
| La operación tiene un comando conocido (`npm test`,`git push`) | Necesita un estado de shell persistente en varios comandos | 
| Quieres una ejecución determinista con un código de salida estructurado | Desea explorar el entorno de forma interactiva | 
| Está automatizando un paso de una CI/CD canalización o una puerta de validación | Estás creando una interfaz de usuario de terminal (Claude Code, Amazon Kiro, OpenAI Codex) | 
| Cada comando es independiente y no tiene un estado compartido | Necesita soporte de reconexión para un trabajo prolongado | 
| Está iniciando el entorno antes de que se inicie el agente | Está depurando o inspeccionando un agente en ejecución | 

**Topics**
+ [Ejecuta comandos de shell en sesiones AgentCore de tiempo de ejecución](runtime-execute-command.md)
+ [Carcasas interactivas (terminales)](runtime-get-started-command-shell.md)