Hvernig á að virkja Shell Script kembiforrit í Linux


Handrit er einfaldlega listi yfir skipanir sem eru geymdar í skrá. Í stað þess að keyra röð skipana með því að slá þær inn eina í einu allan tímann á flugstöðinni, getur kerfisnotandi geymt þær allar (skipanir) í skrá og kallar ítrekað á skrána til að framkvæma skipanirnar aftur nokkrum sinnum.

Þegar við lærum forskriftir eða á fyrstu stigum handritsskrifa, byrjum við venjulega á því að skrifa lítil eða stutt handrit með nokkrum línum af skipunum. Og venjulega kemba við slík handrit með því að gera ekkert annað en að skoða framleiðslu þeirra og tryggja að þau virki eins og við ætluðum okkur.

Hins vegar, þegar við byrjum að skrifa mjög löng og háþróuð forskriftir með þúsundum skipanalína, til dæmis forskriftir sem breyta kerfisstillingum, framkvæma mikilvægar öryggisafrit yfir netkerfi og margt fleira, munum við gera okkur grein fyrir því að aðeins að horfa á úttak handrits er ekki nóg til að finna villur innan handrits.

Þess vegna, í þessari skeljaforskriftavilluleit í Linux seríum, munum við ganga í gegnum hvernig á að virkja skeljaforskriftavilluleit, fara yfir til að útskýra mismunandi skeljaforskriftaleitarstillingar og hvernig á að nota þær í næstu röð.

Hvernig á að hefja handrit

Forskrift er aðgreind frá öðrum skrám með fyrstu línu sinni, sem inniheldur #! (She-bang – skilgreinir skráargerðina) og slóðarheiti (slóð að túlk) sem upplýsir kerfið um að skráin er safn skipana sem verða túlkaðar af tilgreindu forriti (túlkur).

Hér að neðan eru dæmi um „fyrstu línurnar“ í mismunandi gerðum forskrifta:

#!/bin/sh          [For sh scripting]
#!/bin/bash        [For bash scripting] 
#!/usr/bin/perl    [For perl programming]
#!/bin/awk -f      [For awk scripting]   

Athugið: Fyrstu línuna eða #! er hægt að sleppa ef handrit inniheldur aðeins sett af stöðluðum kerfisskipunum, án innri skelskipana.

Hvernig á að framkvæma Shell Script í Linux

Hefðbundin setningafræði til að kalla fram skeljaskrift er:

$ script_name  argument1 ... argumentN

Önnur möguleg mynd er með því að tilgreina skýrt skelina sem mun framkvæma handritið eins og hér að neðan:

$ shell script_name argument1 ... argumentN  

Til dæmis:

$ /bin/bash script_name argument1 ... argumentN     [For bash scripting]
$ /bin/ksh script_name argument1 ... argumentN      [For ksh scripting]
$ /bin/sh script_name argument1 ... argumentN       [For sh scripting]

Fyrir forskriftir sem eru ekki með #! sem fyrstu línu og innihalda aðeins grunnkerfisskipanir eins og þá hér að neðan:

#script containing standard system commands
cd /home/$USER
mkdir tmp
echo "tmp directory created under /home/$USER"

Gerðu það einfaldlega keyranlegt og keyrðu það sem hér segir:

$ chmod +x  script_name
$ ./script_name 

Aðferðir til að virkja Shell Script kembiforrit

Hér að neðan eru valmöguleikar fyrir kembiforrit fyrir aðal skel:

  1. -v (stutt fyrir orðrétt) – segir skelinni að sýna allar línur í skriftu á meðan þær eru lesnar, það virkjar orðrétta stillingu.
  2. -n (stutt fyrir noexec eða engin ecxecution) – skipar skelinni að lesa allar skipanir, en keyrir þær ekki. Þessi valkostur virkjar setningafræðiathugun.
  3. -x (stutt fyrir xtrace eða execution trace) – segir skelinni að sýna allar skipanir og rök þeirra á flugstöðinni á meðan þær eru keyrðar. Þessi valkostur virkjar skeljarekningarham.

Fyrsta aðferðin er með því að breyta fyrstu línu skeljahandrits eins og hér að neðan, þetta mun gera villuleit á öllu handritinu kleift.

#!/bin/sh option(s)

Í eyðublaðinu hér að ofan getur valmöguleikinn verið einn eða samsetning af villuleitarvalkostunum hér að ofan.

Annað er með því að kalla fram skelina með villuleitarvalkostum sem hér segir, þessi aðferð mun einnig kveikja á villuleit á öllu handritinu.

$ shell option(s) script_name argument1 ... argumentN

Til dæmis:

$ /bin/bash option(s) script_name argument1 ... argumentN   

Þriðja aðferðin er með því að nota settu innbyggðu skipunina til að kemba tiltekinn hluta skeljaforskriftar eins og fall. Þetta fyrirkomulag er mikilvægt þar sem það gerir okkur kleift að virkja villuleit á hvaða hluta skeljaforskriftar sem er.

Við getum kveikt á villuleitarstillingu með því að nota stilla skipun á formi hér að neðan, þar sem valmöguleikinn er einhver af villuleitarvalkostunum.

$ set option 

Til að virkja villuleitarham skaltu nota:

$ set -option

Til að slökkva á villuleitarstillingu skaltu nota:

$ set +option

Að auki, ef við höfum virkjað nokkrar villuleitarstillingar í mismunandi hlutum skeljaskriftar, getum við slökkt á þeim öllum í einu eins og svo:

$ set -

Það er það í bili með því að virkja kembiforritastillingu fyrir skel. Eins og við höfum séð getum við annað hvort villuleitt heilt skeljahandrit eða tiltekinn hluta handrits.

Í næstu tveimur þáttum þessarar seríu munum við fara yfir hvernig á að nota kembiforrit skeljarvilluvalkosta til að útskýra margorða, setningafræðiathugun og kembileitarstillingar skeljar með dæmum.

Mikilvægt er, ekki gleyma að spyrja spurninga um þessa handbók eða kannski gefa okkur endurgjöf í gegnum athugasemdahlutann hér að neðan. Þangað til, vertu í sambandi við Tecmint.