ウェブサイト検索

Linux で「Explain Shell」スクリプトを使用してシェル コマンドを簡単に理解する


Linux プラットフォームで作業していると、誰もがいつかはシェル コマンドに関するヘルプが必要になります。 マニュアル ページwhatis コマンドなどの組み込みヘルプは役に立ちますが、マニュアル ページの出力は長すぎるため、Linux の経験がある程度あるまでは、入手するのが非常に困難です。膨大なマニュアルページからの助けが必要です。 whatis コマンドの出力が複数行になることはほとんどなく、初心者にとっては不十分です。

チート」のようなサードパーティ アプリケーションがあります。これについては、「Linux ユーザーのためのコマンドライン チート シート」で説明しています。 Cheat は、コンピュータがインターネットに接続されていない場合でもシェル コマンドのヘルプを表示する非常に優れたアプリケーションですが、事前定義されたコマンドのヘルプのみが表示されます。

Jackson によって書かれた小さなコードがあり、これは bash シェル内のシェル コマンドを非常に効果的に説明し、サードパーティのパッケージをインストールする必要がない最も優れた部分を推測することができます。彼は、このコード部分を含むファイルに 'explain.sh' という名前を付けました。

Explain ユーティリティの機能

  1. 簡単なコード埋め込み。
  2. サードパーティのユーティリティをインストールする必要はありません。
  3. 説明の過程で必要な情報だけを出力します。
  4. 動作するにはインターネット接続が必要です。
  5. 純粋なコマンドラインユーティリティ。
  6. bash シェルでほとんどのシェル コマンドを説明できる。
  7. root アカウントの関与は必要ありません。
前提条件

唯一の要件は 'curl' パッケージです。現在の最新の Linux ディストリビューションのほとんどには、curl パッケージがプリインストールされていますが、そうでない場合は、以下に示すようにパッケージ マネージャーを使用してインストールできます。

apt-get install curl 	[On Debian systems]
yum install curl 		[On CentOS systems]

Linux での Explain.sh ユーティリティのインストール

以下のコードを ~/.bashrc ファイルにそのまま挿入する必要があります。コードは、各ユーザーおよび各 .bashrc ファイルに挿入する必要があります。コードは、root ユーザーの .bashrc ではなく、ユーザーの .bashrc ファイルにのみ挿入することをお勧めします。

ハッシュ (#) で始まるコードの最初の行はオプションであり、.bashrc の残りのコードを区別するためにのみ追加されていることに注意してください。

# Explain.sh はコードの始まりを示します。このファイルの最後にある .bashrc ファイルに挿入します。


explain.sh begins
explain () {
  if [ "$#" -eq 0 ]; then
    while read  -p "Command: " cmd; do
      curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$cmd"
    done
    echo "Bye!"
  elif [ "$#" -eq 1 ]; then
    curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$1"
  else
    echo "Usage"
    echo "explain                  interactive mode."
    echo "explain 'cmd -o | ...'   one quoted command to explain it."
  fi
}

Explain.sh ユーティリティの動作

コードを挿入して保存した後、変更を有効にするには、現在のセッションからログアウトし、再度ログインする必要があります。すべては「curl」 コマンドによって処理されます。このコマンドは、説明が必要な入力コマンドとフラグを mankier サーバーに転送し、必要な情報だけを Linux コマンドに出力します。 -ライン。言うまでもなく、このユーティリティを使用するには、常にインターネットに接続する必要があります。

explain.sh スクリプトを使用して、意味がわからないコマンドの例をいくつかテストしてみましょう。

1.du -h」 が何をするのか忘れてしまいました。私がしなければならないのは次のことだけです。

explain 'du -h'

2.tar -zxvf」 の機能を忘れた場合は、次のようにするだけで済みます。

explain 'tar -zxvf'

3. 私の友人の 1 人が、「whatis」 と 「whereis」 コマンドの使用をよく混同するので、私は彼にアドバイスしました。

ターミナルで説明コマンドを入力するだけで対話モードに移行します。

explain

次に、次のようにコマンドを次々に入力して、1 つのウィンドウでその動作を確認します。

Command: whatis
Command: whereis

インタラクティブ モードを終了するには、Ctrl + C を押すだけです。

4. パイプラインによってチェーンされた複数のコマンドについて説明してもらうことができます。

explain 'ls -l | grep -i Desktop'

同様に、シェルにシェル コマンドの説明を依頼することもできます。必要なのは、有効なインターネット接続だけです。出力はサーバーから必要な説明に基づいて生成されるため、出力結果はカスタマイズできません。

私にとって、このユーティリティは非常に役立ち、.bashrc に追加されて光栄です。このプロジェクトについてどう思いますか教えてください。それはあなたにとってどのように役立ちますか?説明は満足のいくものですか?

以下のコメント欄に貴重なフィードバックをお寄せください。 「いいね!」とシェアして拡散にご協力ください。