

# シェルの実行
<a name="runtime-shell-execution"></a>

Amazon Bedrock AgentCore ランタイムでは、実行中のエージェントのセッション内でシェルコマンドを実行できます。ユースケースに応じて 2 つのモードを使用できます。

ワンショットコマンド実行 - `InvokeAgentRuntimeCommand`   
単一のコマンドを実行し、HTTP/2 経由で stdout/stderr をストリーミングして、終了コードを返します。各コマンドは、永続的な状態なしで新しいシェルプロセスを開始します。自動パイプライン、CI/CD ゲート、決定論的オペレーションに最適です。

インタラクティブシェル (ターミナル) - `InvokeAgentRuntimeCommandShell`   
完全なシェル状態 (環境変数、作業ディレクトリ、履歴) で WebSocket 経由で永続ターミナルセッションを開きます。を介した再接続をサポートします`shellId`。デバッグ、環境検査、ターミナル UIs に最適です。

 **機能の比較** 


| 機能 | ワンショット (`InvokeAgentRuntimeCommand`) | インタラクティブ (`InvokeAgentRuntimeCommandShell`) | 
| --- | --- | --- | 
| プロトコル | HTTP/2 (リクエスト-レスポンスストリーム) | WebSocket (永続的接続) | 
| シェルの状態 | ステートレス — 各コマンドが新しいプロセスを開始します | 永続 — 環境、作業ディレクトリ、履歴はコマンド間で保持されます | 
| 出力形式 | 構造化イベント (`contentStart`、`contentDelta`、終了コード`contentStop`付き) | バイナリフレーム (raw ターミナル I/O — 色、カーソル制御、全画面表示アプリケーションをサポート) | 
| 再接続 | いいえ — 各呼び出しは独立しています | はい、経由 `shellId`  | 
| 時間 | 設定可能なタイムアウト (1～3,600 秒) | 最大 1 時間 (同じ で再接続`shellId`して続行) | 

 **適切なモードの選択** 


| ワンショット実行は、次の場合に使用します。 | インタラクティブシェルは、次の場合に使用します。 | 
| --- | --- | 
| オペレーションには既知のコマンド (`npm test`、`git push`) があります | 複数のコマンドにまたがる永続的なシェル状態が必要 | 
| 構造化された終了コードを使用した決定的な実行が必要 | 環境をインタラクティブに探索したい | 
| CI/CD パイプラインステップまたは検証ゲートを自動化している | ターミナル UI を構築している (Claude Code、Amazon Kiro、OpenAI Codex) | 
| 各コマンドは独立しており、共有状態はありません | 長時間実行される作業には再接続サポートが必要です | 
| エージェントが起動する前に環境をブートストラップしている | 実行中のエージェントをデバッグまたは検査している | 

**Topics**
+ [AgentCore ランタイムセッションでシェルコマンドを実行する](runtime-execute-command.md)
+ [インタラクティブシェル (ターミナル)](runtime-get-started-command-shell.md)