Comprendre fàcilment les ordres de l'intèrpret d'ordres utilitzant l'script Explain Shell a Linux


Mentre treballem a la plataforma Linux, tots necessitem ajuda amb les ordres de l'intèrpret d'ordres, en algun moment. Tot i que l'ajuda incorporada com les pàgines de manual, l'ordre whatis és útil, però la sortida de les pàgines de manual és massa llarga i fins que i tret que es tingui alguna experiència amb Linux, és molt difícil obtenir ajuda de les pàgines man massives. La sortida de l'ordre whatis rarament és més d'una línia que no és suficient per als novells.

Hi ha aplicacions de tercers com cheat, que hem tractat aquí Commandline Cheat Sheet per a usuaris de Linux. Tot i que Cheat és una aplicació excepcionalment bona que mostra ajuda amb les ordres de l'intèrpret d'ordres fins i tot quan l'ordinador no està connectat a Internet, només mostra ajuda amb les ordres predefinides.

Hi ha un petit fragment de codi escrit per Jackson que és capaç d'explicar les ordres de l'intèrpret d'ordres dins de l'intèrpret d'ordres bash de manera molt eficaç i endevinar quina és la millor part que no necessiteu instal·lar cap paquet de tercers. Va anomenar el fitxer que conté aquest fragment de codi com a explain.sh.

  1. Incrustació de codi fàcil.
  2. No cal instal·lar cap utilitat de tercers.
  3. Entreu prou informació en el curs de l'explicació.
  4. Requereix connexió a Internet per funcionar.
  5. Utilitat pura de línia d'ordres.
  6. Capaç d'explicar la majoria de les ordres de l'intèrpret d'ordres a l'intèrpret d'ordres bash.
  7. No es requereix la implicació del compte root.

L'únic requisit és el paquet curl. A la majoria de les últimes distribucions de Linux actuals, el paquet curl ve preinstal·lat, si no, podeu instal·lar-lo mitjançant el gestor de paquets com es mostra a continuació.

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

Instal·lació de la utilitat explic.sh a Linux

Hem d'inserir la peça de codi següent tal com està al fitxer ~/.bashrc. El codi s'ha d'inserir per a cada usuari i per a cada fitxer .bashrc. Es recomana inserir el codi només al fitxer .bashrc de l'usuari i no al fitxer .bashrc de l'usuari root.

Observeu que la primera línia de codi que comença amb hash (#) és opcional i s'afegeix només per diferenciar la resta de codis de .bashrc.

#explica.sh marca l'inici dels codis, estem inserint al fitxer .bashrc a la part inferior d'aquest fitxer.

# 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
}

Funcionament de la utilitat explic.sh

Després d'inserir el codi i desar-lo, heu de tancar la sessió de la sessió actual i tornar a iniciar sessió per fer els canvis en vigor. Tot s'encarrega de l'ordre curl que transfereix l'ordre d'entrada i la marca que necessiten explicacions al servidor Mankier i després imprimeix només la informació necessària a la línia d'ordres de Linux. Per no parlar d'utilitzar aquesta utilitat cal estar sempre connectat a Internet.

Provem alguns exemples d'ordres que desconec el significat amb l'script explica.sh.

1. Vaig oblidar què fa ‘du -h’. Tot el que he de fer és:

$ explain 'du -h'

2. Si heu oblidat el que fa 'tar -zxvf', simplement podeu fer:

$ explain 'tar -zxvf'

3. Un dels meus amics sovint confon l'ús de l'ordre 'whatis' i 'whereis', així que li vaig aconsellar.

Aneu al mode interactiu simplement escrivint l'ordre explica al terminal.

$ explain

i després escriviu les ordres una darrere l'altra per veure què fan en una finestra, com:

Command: whatis
Command: whereis

Per sortir del mode interactiu només cal fer Ctrl + c.

4. Podeu demanar que expliqueu més d'una ordre encadenada per pipeline.

$ explain 'ls -l | grep -i Desktop'

De la mateixa manera, podeu demanar al vostre shell que expliqui qualsevol comanda de l'intèrpret d'ordres. Tot el que necessiteu és una connexió a Internet que funcioni. La sortida es genera en funció de l'explicació necessària del servidor i, per tant, el resultat de la sortida no es pot personalitzar.

Per a mi, aquesta utilitat és molt útil i m'ha honrat haver afegit al meu .bashrc. Fes-me saber què en penses d'aquest projecte? Com et pot ser útil? L'explicació és satisfactòria?

Proporcioneu-nos els vostres valuosos comentaris als comentaris a continuació. Fes m'agrada i comparteix-nos i ajuda'ns a difondre'ns.