Zoeken op website

Shell-opdrachten eenvoudig begrijpen met behulp van het script "Explain Shell" in Linux


Terwijl we op het Linux-platform werken, hebben we allemaal op een gegeven moment hulp nodig bij shell-opdrachten. Hoewel ingebouwde hulp zoals man-pagina's en de opdracht whatis nuttig is, is de uitvoer van man-pagina's te lang en totdat en tenzij iemand enige ervaring heeft met Linux, is het erg moeilijk om deze te verkrijgen alle hulp van enorme manpagina's. De uitvoer van het whatis-commando is zelden meer dan één regel, wat niet voldoende is voor nieuwkomers.

Er zijn applicaties van derden, zoals ‘cheat‘, die we hier hebben besproken “Commandline Cheat Sheet voor Linux-gebruikers. Hoewel Cheat een uitzonderlijk goede applicatie is die hulp toont bij shell-opdrachten, zelfs als de computer niet met internet is verbonden, toont het alleen hulp bij vooraf gedefinieerde opdrachten.

Er is een klein stukje code geschreven door Jackson dat shell-opdrachten binnen de bash-shell zeer effectief kan uitleggen en kan raden wat het beste is: je hoeft geen pakketten van derden te installeren. Hij noemde het bestand met dit stukje code 'explain.sh'.

Kenmerken van het uitleghulpprogramma

  1. Gemakkelijke code-insluiting.
  2. Er hoefde geen hulpprogramma van derden te worden geïnstalleerd.
  3. Voer net voldoende informatie uit tijdens de uitleg.
  4. Vereist een internetverbinding om te werken.
  5. Puur opdrachtregelhulpprogramma.
  6. In staat om de meeste shell-opdrachten in bash-shell uit te leggen.
  7. Geen betrokkenheid van een rootaccount vereist.
Voorwaarde

De enige vereiste is het 'curl' pakket. In de meeste van de nieuwste Linux-distributies van vandaag wordt het curl-pakket vooraf geïnstalleerd. Als dit niet het geval is, kunt u het installeren met behulp van pakketbeheer, zoals hieronder weergegeven.

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

Installatie van het uitleg.sh-hulpprogramma in Linux

We moeten het onderstaande stukje code invoegen zoals het zich in het bestand ~/.bashrc bevindt. De code moet voor elke gebruiker en elk .bashrc bestand worden ingevoegd. Er wordt voorgesteld om de code alleen in het .bashrc-bestand van de gebruiker in te voegen en niet in het .bashrc-bestand van de rootgebruiker.

Merk op dat de eerste regel code die begint met hash (#) optioneel is en alleen wordt toegevoegd om de rest van de codes van .bashrc te onderscheiden.

# reveal.sh markeert het begin van de codes, die we invoegen in het .bashrc bestand onderaan dit bestand.


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
}

Werking van het uitleg.sh-hulpprogramma

Nadat u de code heeft ingevoerd en opgeslagen, moet u zich afmelden bij de huidige sessie en opnieuw inloggen om de wijzigingen door te voeren. Voor alles wordt gezorgd door het 'curl' commando, dat het invoercommando en de vlag die uitleg nodig hebben, overbrengt naar de mankier server en vervolgens alleen de noodzakelijke informatie afdrukt naar het Linux-commando -lijn. Om nog maar te zwijgen van het gebruik van dit hulpprogramma, moet u altijd verbonden zijn met internet.

Laten we een paar voorbeelden van opdrachten testen waarvan ik de betekenis niet ken, met het explain.sh-script.

1. Ik ben vergeten wat ‘du -h‘ doet. Het enige wat ik hoef te doen is:

explain 'du -h'

2. Als je vergeten bent wat ‘tar -zxvf’ doet, kun je eenvoudigweg het volgende doen:

explain 'tar -zxvf'

3. Een van mijn vrienden verwart vaak het gebruik van de commando's 'wat is' en 'waar is', dus adviseerde ik hem.

Ga naar de interactieve modus door eenvoudigweg de opdracht explain op de terminal te typen.

explain

en typ vervolgens de opdrachten één voor één om te zien wat ze in één venster doen, zoals:

Command: whatis
Command: whereis

Om de interactieve modus te verlaten hoeft hij alleen maar Ctrl + c te gebruiken.

4. U kunt vragen om meer dan één opdracht, gekoppeld aan een pijplijn, uit te leggen.

explain 'ls -l | grep -i Desktop'

Op dezelfde manier kunt u uw shell vragen om elk shell-commando uit te leggen. Het enige wat u nodig heeft is een werkende internetverbinding. De uitvoer wordt gegenereerd op basis van de benodigde uitleg van de server en daarom kan het uitvoerresultaat niet worden aangepast.

Voor mij is dit hulpprogramma erg nuttig en het is een eer om toegevoegd te worden aan mijn .bashrc. Laat me weten wat je van dit project vindt? Hoe kan het nuttig voor u zijn? Is de uitleg bevredigend?

Geef ons uw waardevolle feedback in de reacties hieronder. Like en deel ons en help ons verspreiden.