Sayon nga Pagsabot sa Shell Commands Gamit ang Explain Shell Script sa Linux


Samtang nagtrabaho sa platform sa Linux kitang tanan nanginahanglan tabang sa mga sugo sa kabhang, sa usa ka punto sa panahon. Bisan kung ang inbuilt nga tabang sama sa mga panid sa tawo, kung unsa ang mando makatabang, apan ang output sa mga panid sa tawo taas kaayo ug hangtod ug gawas kung adunay usa ka kasinatian sa Linux, lisud kaayo ang pagkuha sa bisan unsang tabang gikan sa daghang mga panid sa tawo. Ang output sa whatis command panagsa ra labaw pa sa usa ka linya nga dili igo alang sa mga bag-o.

Adunay mga third-party nga aplikasyon sama sa 'cheat', nga among gitabonan dinhi Commandline Cheat Sheet alang sa Linux Users. Bisan kung ang Cheat usa ka maayo kaayo nga aplikasyon nga nagpakita og tabang sa shell command bisan kung ang kompyuter dili konektado sa Internet, nagpakita kini og tabang sa mga predefined commands lamang.

Adunay usa ka gamay nga piraso sa code nga gisulat ni Jackson nga makapatin-aw sa mga command sa shell sa sulod sa bash shell nga epektibo kaayo ug tag-an kung unsa ang labing kaayo nga bahin nga dili nimo kinahanglan nga i-install ang bisan unsang ikatulo nga partido nga pakete. Iyang gihinganlan ang file nga adunay sulod niini nga piraso sa code nga explain.sh.

  1. Sayon nga Pag-embed sa Code.
  2. Walay third-party nga utility nga kinahanglan i-install.
  3. I-output lang ang igong impormasyon sa dagan sa pagpatin-aw.
  4. Nagkinahanglan og koneksyon sa internet aron motrabaho.
  5. Puro nga command-line utility.
  6. Makapatin-aw sa kadaghanan sa mga sugo sa shell sa bash shell.
  7. Walay gikinahanglang pag-apil sa root Account.

Ang gikinahanglan lang mao ang curl package. Sa kadaghanan sa labing bag-o nga mga pag-apod-apod sa Linux karon, ang curl nga pakete nag-una nga na-install, kung dili mahimo nimo kini i-install gamit ang manager sa package sama sa gipakita sa ubos.

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

Pag-instalar sa explain.sh Utility sa Linux

Kinahanglan natong isulod ang ubos nga piraso sa code kay naa sa ~/.bashrc file. Ang code kinahanglang isulod sa matag user ug matag .bashrc file. Gisugyot nga isulod ang code sa .bashrc file lamang sa user ug dili sa .bashrc sa root user.

Matikdi ang unang linya sa kodigo nga nagsugod sa hash (#) kay opsyonal ug gidugang para lang sa paglainlain sa ubang mga code sa .bashrc.

Ang # explain.sh nagtimaan sa sinugdanan sa mga kodigo, among gisulod sa .bashrc file sa ubos niini nga file.

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

Pagtrabaho sa explain.sh Utility

Human isulod ang code ug i-save kini, kinahanglan ka nga mo-logout sa kasamtangan nga sesyon ug mag-login balik aron mahimo ang mga pagbag-o nga mapatuman. Ang matag butang giatiman sa 'curl' nga mando nga nagbalhin sa input command ug bandila nga nanginahanglan katin-awan sa mankier server ug dayon i-print ang kinahanglan nga kasayuran sa Linux command-line. Wala pay labot sa paggamit niini nga utility kinahanglan ka nga konektado kanunay sa internet.

Atong sulayan ang pipila ka mga pananglitan sa sugo nga wala nako mahibal-an ang kahulogan sa explain.sh script.

1. Nakalimot ko unsay gibuhat sa 'du -h'. Ang kinahanglan nakong buhaton mao ang:

$ explain 'du -h'

2. Kung nakalimot ka kung unsa ang gibuhat sa 'tar -zxvf', mahimo nimong buhaton:

$ explain 'tar -zxvf'

3. Usa sa akong higala kanunay nga maglibog sa paggamit sa 'whatis' ug 'whereis' nga sugo, mao nga ako siyang gitambagan.

Adto sa Interactive Mode pinaagi lang sa pag-type sa explain command sa terminal.

$ explain

ug dayon i-type ang mga sugo sa usag usa aron makita kung unsa ang ilang gibuhat sa usa ka bintana, sama sa:

Command: whatis
Command: whereis

Aron makagawas sa interactive mode kinahanglan lang niyang buhaton ang Ctrl + c.

4. Mahimo kang mangutana sa pagpatin-aw sa labaw sa usa ka sugo nga gikadena pinaagi sa pipeline.

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

Sa samang paagi mahimo nimong pangutan-on ang imong kabhang sa pagpatin-aw sa bisan unsang sugo sa kabhang. Ang imong gikinahanglan mao ang usa ka nagtrabaho nga koneksyon sa Internet. Ang output gihimo base sa katin-awan nga gikinahanglan gikan sa server ug busa ang resulta sa output dili mapasibo.

Alang kanako kini nga utility makatabang kaayo ug kini gipasidunggan nga gidugang sa akong .bashrc. Pahibaloa ko kung unsa ang imong hunahuna sa kini nga proyekto? Sa unsang paagi kini mapuslanon kanimo? Makatagbaw ba ang pagpatin-aw?

Hatagi kami sa imong bililhon nga feedback sa mga komento sa ubos. I-like ug i-share mi ug tabangi mi nga ma-spread.