コマンドラインインターフェース(CLI)の経験

4908 ワード


コマンドラインインターフェース(CLI)の経験

PHP用のライブラリを書き終えて、CLIについての詳細をたくさん見つけました.
CliOne Github

しかし、最初に、CLIは何ですか?
CLIは、ラインコマンド(シェル、CMD、PowerShell)で動作するプログラムです.通常、GUIではなく、GUIも含まれています.ここでは、GUIレスインターフェースについて話します
あなたが平均エンドユーザー(例えば非プログラマーの誰か)のためにコードを作成しているならば、そして、それから最もありえそうもない、それは正しいツールでありません.平均エンドユーザーは、GUIで、おそらくウェブサイトやアプリケーションを使用して、より簡単に何かを好むでしょう.
しかし、エンドユーザーがプログラマや技術者であれば、視覚的なインターフェースで何かを構築するのではなく、CLIを書くことがたくさんあります.

CLIで働く2つの方法 - 引数
CLIでは、引数として、またはユーザー入力として動作する方法が2つあります.
例:
program -argument 1 -argument 2
プログラムに1つまたは複数の引数を渡すことができます.

プロ
  • ✅ 他のスクリプト
  • でチェーンすることができます
  • ✅ コマンドラインをコピーすることで、何度もコマンドを繰り返すことができます.たとえば、私はazureで20の仮想マシンを作成する必要があり、Azureポータルを使用して作成することが可能ですが、それは多くの時間がかかります.Azureはコマンドラインを介して実行することができますので、1つの仮想マシンを作成するために行を書きます.
  • ✅ あなたも、入力や出力値などのいくつかの余分なトリックを行うことができます.
    -
  • ❌ セキュリティ上の問題は、すべての引数が履歴シェルに格納されているので、ここでパスワードを書きたくないです.
  • ❌ 10以上の引数を使いたくない.例:
    プログラム.「exe - argen 1こんにちは」- hello 2 - hello - argument 3こんにちは- argmect 4こんにちは- arguments 5こんにちは-引数6こんにちは.
  • Note: It's curious but there is not a standard or even good practice to write arguments for a console line program. GNU and POSIX have some kind of standard but it is not completely followed by them, while Microsoft follows different rules. Also, every developer could follow their own rules.


    例:
  • “-引数”とシンプルな“-”初心者で.
  •  - 引き数"double - with -引数", "
  • “引数”を操作の開始時に“-”なしにします.
    そして、いくつかのツールは、両方の短い名前で、長い名前を使用できます.ヘルプ?実際には、それは難しいいくつかのコードを理解することができます.
  • また、いくつかの引数には
  • "--引数=値"
  • "-引数値"
  • そしてさらに.いくつかのプログラムでは、引数は大文字小文字を区別します
  • -「A」
  • -「A」
  • 両方の引数は完全に異なる何かを行うことができます.
    しかし、標準がない場合でも、それはまだ使用可能です.主にそれが人々が彼らがしていることを知っていることを目的とするので.しかしながら、いくつかのCLIコマンドは非常に危険です、そして、事故は起こります.

    CLIで働く2つの方法 - ユーザの入力
    動作する別の方法があります:ユーザー入力またはユーザーが情報を入力します.
    > program.exe
    what is the value of the first value? hello
    

    プロ
  • ✅ セキュリティ上の問題.
  • ✅ あなたがしたいとして多くの値として使用することができます.
  • ✅ ユーザーは、値を選択する機会、マーク値、1つ以上の値を入力し、値を入力する再試行などのツールとの対話性があります

    短所
  • ❌ 他のスクリプト
  • でチェーンすることはできません
  • ❌ コマンドラインをコピーすることでコマンドを繰り返すことはできません.
  • いずれにせよ、両方のメソッドを使用してCLIプログラムを作成できます.
    しかし、なぜちょっとcli?
    CLIの使用には多くの利点があります.
  • プログラムは簡単です.それは簡単にコードのいくつかの行を追加することによってオプションのダースを持つプログラムを作成することは簡単です.
  • いくつかのCLIプログラムはマルチプラットフォームです.
  • それはサーバを必要としません.
  • それはより少ない帯域幅を使用します.
    (私が言ったように)他のスクリプトと別のスクリプトやチェーンに追加することも可能です.
  • また、別の利点があります.
    これは安全です(サーバ用).
    なぜ?
    ほとんどのサーバは、すべてのサーバでなければ、管理者がコマンドライン(シェル)にアクセスするのを許容するだけであるので、このプログラム(CLI)を呼ぶ唯一の方法はサーバーにアクセスすることです.ウェブサイト(例えばバックエンド)とは異なります.(アクセスがあれば)誰でもそれにアクセスすることができます.CLIはデフォルトでは良い管理者の良い習慣によって保護されます.
    また、いくつかのコマンドを使用してシステム管理者のみにその使用を制限することができます.
    あなたは世界に公開されたスクリプトを残すことができますし、ハッカーはシステムに入ることができません.多分、彼らは若干の情報を得ることができました(彼らがスクリプトとしてスクリプトを読むことができるならば).
    しかし別の利点があります.
    CLIはもっと簡単です.
    なぜ?
    一般的にGUIは、入力画面、ボタン、コンボボックスなどの同じ画面に多くの操作とアクションを含めることができます.
    CLIはより簡単です.通常、ユーザは特定の順序で特定のタスクを実行することを目的としています.例えば、
    What is your name? ____
    What is your age? ____
    What is your email? ____
    
    また、ユーザーが行うことができるオプションを制限しますが、それはまた、何かをする1つの方法(またはいくつかの方法)です.
    これは、ウェブサイトを使用してステップバイステップ(またはウィザード)を作成することが可能ですが、ウェブサイトを使用しても、オプションを制限することができますが、GUIの性質は、戻って、さわやかな、別のリンクをクリックし、ページを放棄などの他の追加を許可します.
    CLIもインストールが簡単です.時々、それは単に一つのファイルとそれ以上何もインストールする必要があります.

    醜い
    しかし、CLIは特に醜くはありません.それはあまり空想であるに違いありません、しかし、それは色を含むことができました.