Razumevanje ukazov lupine z lahkoto z uporabo skripte »Explain Shell« v Linuxu


Med delom na platformi Linux v določenem trenutku vsi potrebujemo pomoč pri ukazih lupine. Čeprav je vdelana pomoč, kot so strani z mano, ukaz whatis v pomoč, vendar so strani z man stranmi predolge in dokler in če nekdo nima izkušenj z Linuxom, je zelo težko dobiti pomoč od ogromnih strani z man. Rezultat ukaza whatis je redko več kot ena vrstica, kar za novince ne zadostuje.

Obstajajo neodvisne aplikacije, kot je "cheat", ki smo jih obravnavali tukaj "Commandline Cheat Sheet za uporabnike Linuxa. Čeprav je Cheat izjemno dobra aplikacija, ki prikazuje pomoč pri ukazu lupine, tudi če računalnik ni povezan z internetom, prikazuje pomoč samo za vnaprej določene ukaze.

Jackson je napisal majhen delček kode, ki zna zelo učinkovito razložiti ukaze lupine znotraj lupine bash in uganiti, kaj je najboljše, če vam ni treba namestiti nobenega tretjega paketa. Datoteko, ki vsebuje ta del kode, je poimenoval kot objasniti.sh .

  1. Preprosta vdelava kode.
  2. Nobenega pripomočka ni bilo treba namestiti.
  3. V razlagi navedite dovolj informacij.
  4. Za delovanje potrebuje internetno povezavo.
  5. Čist pripomoček za ukazno vrstico.
  6. Zna razložiti večino ukazov lupine v lupini bash.
  7. Pri tem ni potrebno sodelovanje korenskega računa.

Edina zahteva je paket curl . V večini današnjih najnovejših distribucij Linuxa je paket curl vnaprej nameščen, če ga ne, ga lahko namestite z upraviteljem paketov, kot je prikazano spodaj.

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

Namestitev programa utility.sh v Linux

Vstaviti moramo spodnji del kode, kakršen je v datoteki ~/.bashrc . Kodo je treba vstaviti za vsakega uporabnika in vsako datoteko .bashrc . Priporočamo, da kodo vstavite samo v uporabniško datoteko .bashrc in ne v .bashrc korenskega uporabnika.

Upoštevajte, da je prva vrstica kode, ki se začne s hash (#) , neobvezna in dodana samo za razlikovanje med ostalimi kodami .bashrc.

# objasniti.sh označuje začetek kod, ki jih vstavljamo v datoteko .bashrc na dnu te datoteke.

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

Delo z rešitvijo utility.sh Utility

Ko vstavite kodo in jo shranite, se morate iz trenutne seje odjaviti in znova prijaviti, da bodo spremembe začele veljati. Za vsako stvar poskrbi ukaz ‘curl’, ki vhodni ukaz in zastavico, ki potrebuje razlago, prenese na mankier strežnik in nato v ukazno vrstico Linux natisne le potrebne informacije. Da ne omenjam, da uporabljate ta pripomoček, morate biti vedno povezani z internetom.

Preizkusimo nekaj primerov ukaza, ki ne vem pomena s skriptom objasniti.

1. Pozabil sem, kaj počne "du -h". Vse kar moram storiti je:

$ explain 'du -h'

2. Če ste pozabili, kaj počne "tar -zxvf", lahko preprosto storite:

$ explain 'tar -zxvf'

3. Eden od mojih prijateljev pogosto zamenjuje uporabo ukazov 'whatis' in 'whereis', zato sem mu svetoval.

Pojdite v interaktivni način, tako da preprosto vtipkate ukaz obrazca na terminalu.

$ explain

in nato ukažite enega za drugim, da vidite, kaj počnejo v enem oknu, kot:

Command: whatis
Command: whereis

Za izhod iz interaktivnega načina mora narediti samo Ctrl + c.

4. Lahko zahtevate, da razložite več kot en ukaz, verižen s cevovodom.

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

Podobno lahko zaprosite svojo lupino, da pojasni kateri koli ukaz lupine Vse, kar potrebujete, je delujoča internetna povezava. Izhodni podatki se ustvarijo na podlagi razlage strežnika, zato izhodni rezultat ni prilagodljiv.

Zame je ta pripomoček resnično koristen in počaščen je bil, ker je bil dodan v moj .bashrc. Sporočite mi, kaj mislite o tem projektu? Kako vam lahko koristi? Ali je razlaga zadovoljiva?

V spodnjih komentarjih nam sporočite svoje dragocene povratne informacije. Všečkajte nas in delite z nami ter nam pomagajte, da se širimo.