Kaip įjungti „Shell Script“ derinimo režimą „Linux“.


Scenarijus yra tiesiog faile saugomų komandų sąrašas. Užuot vykdydamas komandų seką visą laiką įvesdamas jas po vieną terminale, sistemos vartotojas gali jas visas (komandas) saugoti faile ir pakartotinai iškviesti failą, kad kelis kartus iš naujo vykdytų komandas.

Mokydamiesi rašyti scenarijus arba pradiniame scenarijų rašymo etape paprastai pradedame rašydami mažus arba trumpus scenarijus su keliomis komandų eilutėmis. Paprastai tokius scenarijus deriname nedarydami nieko daugiau, tik žiūrėdami į jų išvestį ir užtikrindami, kad jie veiktų taip, kaip norėjome.

Tačiau kai pradedame rašyti labai ilgus ir pažangius scenarijus su tūkstančiais komandų eilučių, pavyzdžiui, scenarijus, kurie modifikuoja sistemos nustatymus, atlieka svarbias atsargines kopijas tinkluose ir daug daugiau, suprasime, kad tik pažvelgti į scenarijaus išvestį nėra pakankamai, kad būtų galima rasti scenarijaus klaidų.

Todėl šiame apvalkalo scenarijaus derinimo „Linux“ serijoje metu apžvelgsime, kaip įjungti apvalkalo scenarijaus derinimą, paaiškinsime skirtingus apvalkalo scenarijaus derinimo režimus ir kaip juos naudoti tolesnėje serijoje.

Kaip pradėti scenarijų

Scenarijus nuo kitų failų skiriasi pirma jo eilute, kurioje yra (She-bang – apibrėžia failo tipą) ir kelio pavadinimas (kelias į vertėją) kuri informuoja sistemą, kad failas yra komandų rinkinys, kurį interpretuos nurodyta programa (interpretatorius).

Toliau pateikiami skirtingų tipų scenarijų „pirmų eilučių“ pavyzdžiai:

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

Pastaba: pirmoji eilutė arba #! gali būti palikta, jei scenarijuje yra tik standartinių sistemos komandų rinkinys, be jokių vidinių apvalkalo direktyvos.

Kaip vykdyti „Shell“ scenarijų „Linux“.

Įprasta apvalkalo scenarijaus iškvietimo sintaksė yra:

script_name  argument1 ... argumentN

Kita galima forma yra aiškiai nurodant apvalkalą, kuris vykdys scenarijų, kaip nurodyta toliau:

shell script_name argument1 ... argumentN  

Pavyzdžiui:

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

Scenarijų, kurių pirmoji eilutė nėra #! ir kuriuose yra tik pagrindinės sistemos komandos, pvz., toliau pateikta:


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

Tiesiog padarykite jį vykdomąjį ir paleiskite jį taip:


chmod +x  script_name
./script_name 

„Shell“ scenarijaus derinimo režimo įjungimo metodai

Toliau pateikiamos pagrindinės apvalkalo scenarijaus derinimo parinktys:

  1. -n (noexec arba no ecxecution trumpinys) – nurodo apvalkalui perskaityti visas komandas, tačiau jų nevykdo. Ši parinktis įjungia sintaksės tikrinimo režimą.
  2. -x (xtrace arba execution trace trumpinys) – nurodo apvalkalui rodyti visas komandas ir jų argumentus terminale, kai jos vykdomos. Ši parinktis įgalina apvalkalo sekimo režimą.

1. Pirmosios Shell scenarijaus eilutės keitimas

Pirmasis mechanizmas yra pakeisti pirmąją apvalkalo scenarijaus eilutę, kaip nurodyta toliau, tai leis derinti visą scenarijų.

#!/bin/sh option(s)

Aukščiau pateiktoje formoje parinktis gali būti viena iš aukščiau pateiktų derinimo parinkčių arba derinys.

2. Shell iškvietimas su derinimo parinktimis

Antrasis – iškviečiant apvalkalą su derinimo parinktimis, kaip nurodyta toliau, šis metodas taip pat įjungs viso scenarijaus derinimą.

shell option(s) script_name argument1 ... argumentN

Pavyzdžiui:

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

3. Naudodami set Shell Built-in Command

Trečiasis metodas yra naudojant įtaisytąją komandą nustatyti tam tikrą apvalkalo scenarijaus skyrių, pvz., funkciją. Šis mechanizmas yra svarbus, nes leidžia suaktyvinti derinimą bet kuriame apvalkalo scenarijaus segmente.

Derinimo režimą galime įjungti naudodami komandą set toliau pateiktoje formoje, kur parinktis yra bet kuri iš derinimo parinkčių.

set option 

Norėdami įjungti derinimo režimą, naudokite:

set -option

Norėdami išjungti derinimo režimą, naudokite:

set +option

Be to, jei įjungėme kelis derinimo režimus skirtinguose apvalkalo scenarijaus segmentuose, galime juos visus išjungti vienu metu taip:

set -

Tai kol kas, kai įjungiamas apvalkalo scenarijaus derinimo režimas. Kaip matėme, galime derinti visą apvalkalo scenarijų arba tam tikrą scenarijaus skyrių.

Kitose dviejose šios serijos serijose aptarsime, kaip naudoti apvalkalo scenarijaus derinimo parinktis paaiškinti išsamiai, sintaksės tikrinimas ir apvalkalo sekimo derinimas. > režimai su pavyzdžiais.

Svarbu tai, kad nepamirškite užduoti klausimų apie šį vadovą arba, galbūt, pateikite mums atsiliepimų toliau pateiktame komentarų skyriuje. Iki tol palaikykite ryšį su Tecmint.