Important
2026年1月現在、AI Shellプロジェクトはもはや活発なメンテナンスは行われていません。 このプロジェクトは工学的観点からアーカイブされていると考えるべきです。
コマンド シェルは、コンピューターと対話するためのテキスト ベースのインターフェイスです。これは、読み取りEval-Print ループ (REPL) とも呼ばれます。
シェルは、キーボードから入力を受け取り、その入力を評価し、シェル コマンドとして入力を実行するか、実行するオペレーティング システムに入力を渡します。 ほとんどのシェルでは、スクリプト ファイルからコマンドを読み取ることもできます。また、変数、フロー制御、関数などのプログラミング機能を含めることもできます。
端末
ターミナルは、コマンド シェルをホストするためのテキスト ベースのインターフェイスを提供するアプリケーションです。 一部のターミナルは特定のシェルで動作するように設計されており、他のターミナルは複数のシェルをホストできます。 また、次のような高度な機能が含まれる場合もあります。
- 1 つのウィンドウ内に複数のペインを作成する機能
- 複数のシェルをホストする複数のタブを作成する機能
- 配色とフォントを変更する機能
- コピー操作と貼り付け操作のサポート
ターミナル アプリケーションの例を次に示します。
- Windows ターミナル - 複数のシェルをホストできる Windows 用の最新のターミナル アプリケーションです。
- Windows コンソール ホスト - テキスト ベースのアプリケーション用の Windows 上の既定のホスト アプリケーションです。 また、Windows コマンド シェルまたは PowerShell をホストすることもできます。
- macOS 用ターミナル - bash または zsh シェルをホストできる macOS 上の既定のターミナル アプリケーション。
- iTerm2 for macOS - macOS 用の一般的なサード パーティ製ターミナル アプリケーションです。
- Azure Cloud Shell - Microsoft Azure でホストされているブラウザー ベースのターミナル アプリケーションです。 Azure Cloud Shell では、bash または PowerShell の使用を選択でき、Azure リソースを管理するための多くのコマンドライン ツールが事前構成されています。
汎用コマンド シェル
汎用コマンド シェルは、オペレーティング システムで動作するように設計されています。 これらのシェルを使用すると、オペレーティング システムでサポートされている任意のコマンドを実行できます。 また、シェル固有のコマンドとプログラミング機能も含まれています。 次の一覧に、汎用コマンド シェルの例をいくつか示します。
ユーティリティ コマンド シェル
ユーティリティ コマンド シェルは、特定のアプリケーションまたはサービスで動作するように設計されています。 これらのシェルは、アプリケーションまたはサービスに固有のコマンドのみを実行できます。 一部のユーティリティ シェルではスクリプト ファイルからのコマンドの実行がサポートされていますが、プログラミング機能は含まれていません。 通常、これらのシェルは対話形式でのみ使用できます。
- AI Shell - Azure OpenAI などの AI サービスとの通信に使用される対話型のシェル。
- netsh - ネットワーク シェル (netsh) は、Windows 上のさまざまなネットワーク コンポーネントの状態を構成して表示できるコマンド ライン ユーティリティです。 コマンド ライン ツールとコマンド シェルの両方です。 スクリプト ファイルからのコマンドの実行もサポートしています。
コマンド ライン ツール
コマンド ライン ツールは、コマンド シェルから実行されるスタンドアロン プログラムです。 コマンド ライン ツールは通常、ファイルの管理、設定の構成、情報のクエリなど、特定のタスクを実行するように設計されています。 コマンドライン ツールは、外部プログラムの実行をサポートする任意のシェルで使用できます。
- Azure CLI - サポートされている任意のシェルで実行できる Azure リソースを管理するためのコマンド ライン ツールのコレクションです。
- Azure PowerShell - サポートされている任意のバージョンの PowerShell で実行できる Azure リソースを管理するための PowerShell モジュールのコレクションです。
- Windows 用の OpenSSH - ネットワーク経由でセキュリティで保護された通信を行うコマンド ライン クライアントとサーバーです。
- Windows コマンド - Windows に組み込まれているコマンド ライン ツールのコレクションです。
一般に、コマンド ライン ツールはコマンド シェル (REPL) インターフェイスを提供しません。 Windows の netsh コマンドは、コマンドライン ツールと対話型コマンド シェルの両方であるため、例外です。