Website-Suche

Einfaches Verständnis von Shell-Befehlen mithilfe des „Explain Shell“-Skripts unter Linux


Bei der Arbeit auf der Linux-Plattform benötigt jeder von uns irgendwann einmal Hilfe bei Shell-Befehlen. Obwohl eingebaute Hilfe wie Manpages und der Befehl whatis hilfreich sind, ist die Ausgabe von Manpages zu langwierig und solange man keine Erfahrung mit Linux hat, ist es sehr schwierig, sie zu bekommen Jede Hilfe von umfangreichen Manpages. Die Ausgabe des Befehls whatis umfasst selten mehr als eine Zeile, was für Neulinge nicht ausreicht.

Es gibt Anwendungen von Drittanbietern wie „Cheat“, die wir hier „Befehlszeilen-Spickzettel für Linux-Benutzer“ behandelt haben. Obwohl Cheat eine außergewöhnlich gute Anwendung ist, die Hilfe zu Shell-Befehlen anzeigt, auch wenn der Computer nicht mit dem Internet verbunden ist, zeigt es Hilfe nur zu vordefinierten Befehlen an.

Es gibt einen kleinen Code von Jackson, der Shell-Befehle innerhalb der Bash-Shell sehr effektiv erklären kann und das Beste daran ist, dass Sie kein Paket von Drittanbietern installieren müssen. Er nannte die Datei, die diesen Code enthielt, 'explain.sh'.

Funktionen des Explain Utility

  1. Einfache Code-Einbettung.
  2. Es musste kein Dienstprogramm eines Drittanbieters installiert werden.
  3. Geben Sie im Verlauf der Erklärung gerade genug Informationen aus.
  4. Erfordert eine Internetverbindung, um zu funktionieren.
  5. Reines Befehlszeilen-Dienstprogramm.
  6. Kann die meisten Shell-Befehle in der Bash-Shell erklären.
  7. Keine Beteiligung des Root-Kontos erforderlich.
Voraussetzung

Die einzige Voraussetzung ist das Paket 'curl'. In den meisten der neuesten Linux-Distributionen ist das Curl-Paket vorinstalliert. Wenn nicht, können Sie es wie unten gezeigt mit dem Paketmanager installieren.

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

Installation des EXPLAIN.SH-Dienstprogramms unter Linux

Wir müssen den folgenden Codeabschnitt so einfügen, wie er in der Datei ~/.bashrc ist. Der Code sollte für jeden Benutzer und jede .bashrc-Datei eingefügt werden. Es wird empfohlen, den Code nur in die Datei .bashrc des Benutzers einzufügen und nicht in die Datei .bashrc des Root-Benutzers.

Beachten Sie, dass die erste Codezeile, die mit Hash (#) beginnt, optional ist und nur hinzugefügt wird, um die restlichen Codes von .bashrc zu unterscheiden.

#explain.sh markiert den Anfang der Codes, die wir in die Datei .bashrc am Ende dieser Datei einfügen.


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
}

Funktionsweise des EXPLAIN.SH-Dienstprogramms

Nachdem Sie den Code eingegeben und gespeichert haben, müssen Sie sich von der aktuellen Sitzung abmelden und erneut anmelden, damit die Änderungen wirksam werden. Um alles kümmert sich der Befehl 'curl', der den Eingabebefehl und das Flag, die einer Erklärung bedürfen, an den mankier-Server überträgt und dann nur die notwendigen Informationen an den Linux-Befehl ausgibt -Linie. Ganz zu schweigen davon, dass Sie zur Nutzung dieses Dienstprogramms immer mit dem Internet verbunden sein müssen.

Lassen Sie uns einige Befehlsbeispiele testen, deren Bedeutung ich mit dem explain.sh-Skript nicht kenne.

1. Ich habe vergessen, was „du -h“ tut. Alles was ich tun muss ist:

explain 'du -h'

2. Wenn Sie vergessen haben, was „tar -zxvf“ tut, können Sie einfach Folgendes tun:

explain 'tar -zxvf'

3. Einer meiner Freunde verwechselt oft die Verwendung der Befehle „whatis“ und „whereis“, also habe ich ihm geraten.

Wechseln Sie in den interaktiven Modus, indem Sie einfach den Befehl explain auf dem Terminal eingeben.

explain

Geben Sie dann die Befehle nacheinander ein, um zu sehen, was sie in einem Fenster bewirken, z. B.:

Command: whatis
Command: whereis

Um den interaktiven Modus zu verlassen, muss er nur Strg + C drücken.

4. Sie können mehr als einen durch die Pipeline verketteten Befehl erläutern lassen.

explain 'ls -l | grep -i Desktop'

Ebenso können Sie Ihre Shell bitten, jeden Shell-Befehl zu erklären. Sie benötigen lediglich eine funktionierende Internetverbindung. Die Ausgabe wird auf der Grundlage der vom Server benötigten Erklärung generiert und daher ist das Ausgabeergebnis nicht anpassbar.

Für mich ist dieses Dienstprogramm wirklich hilfreich und es ist eine Ehre, es zu meiner .bashrc-Datei hinzugefügt zu haben. Sagen Sie mir, was denken Sie über dieses Projekt? Wie kann es für Sie nützlich sein? Ist die Erklärung zufriedenstellend?

Geben Sie uns Ihr wertvolles Feedback in den Kommentaren unten. Liken und teilen Sie uns und helfen Sie uns, uns zu verbreiten.