「CLI」はシェルまたはコマンドを記述しますか? [閉鎖]

「CLI」はシェルまたはコマンドを記述しますか? [閉鎖]

これらを説明するためにCLIという用語を使用していますlsmysqlたとえば、シェルに似たプログラムをどのように呼び出すのですか? CLIはCommand Line Interfaceまたはを意味しませんかCommand Line Interpretor?シェル型プログラムでこの用語を使用する方が論理的ではありませんか?もう少し調べた後、私はさらに混乱しました。一部のサイトではコマンドを記述するためにCLI用語を使用し、一部はシェル用語を使用し、一部は両方を使用し、一部はとを区別し、一部ははるかに混乱していCommand Line InterfaceますCommand Line Interpretor

だから何正確にCLIですか?シェルに似たプログラムを記述するために使用される用語は何ですか?そしてコマンドプログラム?正確な定義がなぜこんなに曖昧なのでしょうか?なぜ誰もがこれに同意しないのですか?

答え1

Wikipediaには良い定義があります。:

コマンドラインインターフェイス(CLI)テキスト行の形式でコンピュータプログラムのコマンドを処理します。インターフェイスを処理するプログラムを呼び出します。コマンドラインソルバーまたはコマンドラインプロセッサ

CLIという用語は、次のように使用されます。GUI(グラフィックユーザーインターフェース)これは、ユーザーがインターフェイス、アイコン、ウィンドウ、その他のグラフィックコンポーネントをクリックしてシステムと対話する方法を示します。

どちらの用語も範囲が非常に広い。たとえば、Linux / UNIXの世界では、シェル(sh、bash、zshなど)はCLIですが、X Windows環境(GNOME、KDEなど)はGUIです。 GitはCLI(gitコマンド)を介してアクセスできます。グラフィカルユーザーインターフェースクライアント

あなたの質問に答えるために、CLIという用語は、シェルだけでなく端末に入力されるコマンドを記述するために使用することができます。前述したように、これは広範な用語です。

答え2

ないようだ」精密「定義。

通常、プログラム文書では、CLIを使用してコマンドラインインターフェースの一部を説明し、パラメータとオプションのヘルプを取得できます。

しかし、これはシェルとは何の関係もありません。 gitpre-hookや他の設定などから取得するようなプログラムや設定ファイルからCLIインターフェイスを使用することもできます。post-hookrun

それ以外の場合は、「ターミナル」(または仮想端末)または「コンソール」をインターフェースキーボードおよび(通常黒)画面として使用する傾向があります。しかし、これはシェルがあるという意味ではありません。

そしてシェルにストレスを与えたいならシェル(通常ターミナルで実行)です。シェルは他のプログラムを呼び出すプログラムです(通常はプロンプトと一緒に表示され、リダイレクトとジョブ制御のための構文と実際のコマンドライン編集が一緒に表示されます)。

上記は私の解釈であり、最も一般的に使用されているようですが(特に以前のプログラムで)、すでに見つけたように、使用法は一貫していません。

答え3

CLIは歴史的な概念です。
1970年代と1980年代にはCLIがどこにでもありました。これは単にコマンドと対話するためのインターフェースを説明します。
Shell、bash、またはzhsは、より一般的な用語であるCLIのサブセットです。
ほとんどのルーターにはCLIが付属していますが、それらのどれもそうではなく、独自のCLIを持つ多数のプログラムがあります。
したがって、CLIは一般的な用語であり、シェルは既存のすべてのCLIのサブセットです。

関連情報