Kuidas lubada Shelli skripti silumisrežiim Linuxis


Skript on lihtsalt faili salvestatud käskude loend. Selle asemel, et käskude jada käivitada, kirjutades need terminalis kogu aeg ükshaaval, saab süsteemikasutaja kõik need (käsud) faili salvestada ja kutsub faili korduvalt käskude mitu korda uuesti täitma.

Skripte õppides või skriptide kirjutamise varases staadiumis alustame tavaliselt väikeste või lühikeste skriptide kirjutamisest mõne käsureaga. Ja tavaliselt silume selliseid skripte, tehes midagi muud kui vaadates nende väljundit ja tagades, et need töötaksid nii, nagu me ette nägime.

Kuid kui hakkame kirjutama väga pikki ja arenenud skripte tuhandete käsuridadega, näiteks skripte, mis muudavad süsteemi sätteid, teevad kriitilisi varukoopiaid võrkude kaudu ja palju muud, mõistame, et ainult skripti väljundi vaatamine piisavalt, et skriptist vead leida.

Seetõttu uurime selles Linuxi seeria shelliskriptide silumises, kuidas lubada shelliskripti silumine, liigume üle, et selgitada erinevaid shelliskripti silumisrežiime ja kuidas neid järgmises seerias kasutada.

Kuidas skripti käivitada

Skripti eristab teistest failidest selle esimene rida, mis sisaldab #! (She-bang - määratleb failitüübi) ja tee nime (tõlgi tee), mis teavitab süsteemi failist on käskude kogu, mida määratud programm (tõlk) tõlgendab.

Allpool on toodud näited\"esimestest ridadest" erinevat tüüpi skriptides:

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

Märkus. Esimese rea või #! võib välja jätta, kui skript sisaldab ainult standardsete süsteemikäskude komplekti, ilma sisemiste shellidirektiivideta.

Kuidas käivitada Shelli skript Linuxis

Shelliskripti kutsumise tavapärane süntaks on:

$ script_name  argument1 ... argumentN

Teine võimalik vorm on skripti käivitava kesta selgelt määramine järgmiselt:

$ shell script_name argument1 ... argumentN  

Näiteks:

$ /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]

Skriptide puhul, mille esimese reana pole kood #! ja mis sisaldavad ainult selliseid põhikäske nagu näiteks allpool:

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

Muutke see lihtsalt käivitatavaks ja käivitage see järgmiselt:

$ chmod +x  script_name
$ ./script_name 

Shelli skripti silumisrežiimi lubamise meetodid

Allpool on toodud peamised shelliskripti silumisvalikud:

  1. -v (lühike verboos) - käsk kestal näidata kõiki skripti ridu nende lugemise ajal, see aktiveerib üksikasjaliku režiimi.
  2. -n (lühend noexec'ist või ecxecution'ist) - juhendab kestat kõiki käske lugema, kuid ei täida neid. See suvand aktiveerib süntaksikontrolli režiimi.
  3. -x (lühend xtrace'ist või täitmisjäljest) - käsk kuvab kestal kõiki käske ja nende argumente nende käivitamisel terminalis. See valik võimaldab kestade jälgimise režiimi.

Esimene mehhanism on shelliskripti esimese rea muutmine, nagu allpool, see võimaldab kogu skripti silumist.

#!/bin/sh option(s)

Ülaloleval vormil võib variant olla üks või ülaltoodud silumisvalikute kombinatsioon.

Teine on kestade kutsumine silumisvalikutega järgmiselt, see meetod lülitab sisse ka kogu skripti silumise.

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

Näiteks:

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

Kolmas meetod on seatud sisseehitatud käsu kasutamine shelliskripti antud osa nagu funktsiooni silumiseks. See mehhanism on oluline, kuna see võimaldab meil silumuse aktiveerida shelliskripti mis tahes segmendis.

Saame silumisrežiimi sisse lülitada, kasutades allpool toodud käsku seatud käsku, kus valikuks on mõni silumisvalikutest.

$ set option 

Silumisrežiimi lubamiseks kasutage järgmist.

$ set -option

Silumisrežiimi keelamiseks kasutage järgmist.

$ set +option

Lisaks, kui oleme lubanud mitu silumisrežiimi shelliskripti erinevates segmentides, võime need kõik korraga keelata:

$ set -

See on praegu, lubades shelliskripti silumisrežiimi. Nagu nägime, võime siluda kas kogu shelliskripti või skripti konkreetse osa.

Selle seeria kahes järgmises osas käsitleme, kuidas kasutada shelliskripti silumisvalikuid, et selgitada verbose, süntaksikontrolli ja shellijälituse silumisrežiime näidetega.

Oluline on see, et ärge unustage selle juhendi kohta küsimusi esitada või andke meile tagasisidet alloleva kommentaarijaotise kaudu. Seni püsige Tecmintiga ühenduses.