Otu esi eme ka ọnọdụ nbibi nke Shell dị na Linux


Ederede bụ naanị ndepụta iwu echekwara na faịlụ. Kama ịme usoro iwu site na ịpị ha n'otu n'otu oge niile na njedebe, onye ọrụ sistemụ nwere ike ịchekwa ha niile (iwu) na faịlụ ma na-akpọku faịlụ ahụ ugboro ugboro ka ọ megharịa iwu ahụ ọtụtụ oge.

Ka anyị na-amụ scripting ma ọ bụ n'oge mmalite nke ide ederede, anyị na-amalitekarị site na iji ahịrị iwu ole na ole dee obere obere ma ọ bụ nkenke. Na anyị na-ejikarị ehichapụ edemede ndị dị otú ahụ site n'ime ihe ọ bụla karịa ilele mmepụta ha na ịhụ na ha na-arụ ọrụ dịka anyị bu n'obi.

Otú ọ dị, ka anyị na-amalite ide ogologo ogologo na elu scripts na ọtụtụ puku ahịrị nke iwu, dị ka ihe atụ scripts na-agbanwe usoro ntọala, na-eme oké egwu backups n'elu netwọk na ọtụtụ ndị ọzọ, anyị ga-aghọta na nanị ilele mmepụta nke a edemede abụghị. ezuru ịchọta chinchi n'ime edemede.

Ya mere, na nke a shei script debugging na Linux usoro, anyị ga-eje ije na-esi eme ka shei script debugging, gaa n'ihu na-akọwa dị iche iche shei script debugging ụdịdị na otu esi eji ha na-esote usoro.

Otu esi amalite edemede

Ederede dị iche na faịlụ ndị ọzọ site na ahịrị mbụ ya, nke nwere #! (She-bang - na-akọwa ụdị faịlụ) yana aha ụzọ (ụzọ ntụgharị) nke na-agwa sistemụ na faịlụ ahụ. bụ nchịkọta iwu nke a ga-atụgharị site na mmemme akọwapụtara (onye ntụgharị okwu).

N'okpuru bụ ọmụmaatụ nke\ahịrị mbụ n'ụdị edemede dị iche iche:

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

Rịba ama: Enwere ike ịhapụ ahịrị mbụ ma ọ bụ #! ma ọ bụrụ na edemede nwere naanị usoro iwu usoro ọkọlọtọ, na-enweghị ntuziaka shei ọ bụla.

Otu esi eme script Shell na Linux

Okwu nkịtị maka ịkpọ edemede shei bụ:

$ script_name  argument1 ... argumentN

Ụdị ọzọ nwere ike ime bụ site n'ịkọwa nke ọma shei nke ga-eme ihe ederede dị ka n'okpuru:

$ shell script_name argument1 ... argumentN  

Ọmụmaatụ:

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

Maka edemede ndị na-enweghị #! dị ka ahịrị nke mbụ ma nwee naanị iwu sistemụ dị ka nke dị n'okpuru:

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

Naanị mee ka ọ rụọ ọrụ ma mee ya dị ka ndị a:

$ chmod +x  script_name
$ ./script_name 

Ụzọ nke na-eme ka ọnọdụ nbibi script Shell nwee ike

N'okpuru bụ nhọrọ nbibi edemede shei bụ isi:

  1. -v (obere maka verbose) - na-agwa shei ka ọ gosi ahịrị niile dị n'edemede mgbe a na-agụ ha, ọ na-eme ka ọnọdụ verbose rụọ ọrụ.
  2. -n (mkpụmkpụ maka noexec ma ọ bụ enweghị execution) - na-agwa shei ka ọ gụọ iwu niile, mana anaghị eme ya. Nhọrọ a na-eme ka ọnọdụ nlele syntax rụọ ọrụ.
  3. -x (mkpụmkpụ maka xtrace ma ọ bụ trace execution) - na-agwa shei ka ọ gosipụta iwu niile na arụmụka ha na njedebe mgbe a na-egbu ha. Nhọrọ a na-enyere ọnọdụ nchọta shei aka.

Usoro nke mbụ bụ site n'ịgbanwe ahịrị mbụ nke script shei dị ka nke dị n'okpuru ebe a, nke a ga-eme ka nbibi nke edemede ahụ dum.

#!/bin/sh option(s)

N'ụdị dị n'elu, nhọrọ nwere ike ịbụ otu ma ọ bụ ngwakọta nke nhọrọ nbipu n'elu.

Nke abụọ bụ site n'ịkpọku shei na nhọrọ debugging dị ka ndị a, usoro a ga-agbanyekwa nbibi nke edemede dum.

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

Ọmụmaatụ:

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

Ụzọ nke atọ bụ site n'iji iwu arụnyere arụnyere arụrụ arụrụ arụrụ arụrụ iji mebie akụkụ enyere nke edemede shei dịka ọrụ. Usoro a dị mkpa, n'ihi na ọ na-enye anyị ohere ịmegharị nbipu n'akụkụ ọ bụla nke edemede shei.

Anyị nwere ike ịgbanwuo ọnọdụ nbipu site na iji iwu setịpụrụ n'ụdị dị n'okpuru ebe nhọrọ bụ nke ọ bụla n'ime nhọrọ nbipu.

$ set option 

Iji mee ka ọnọdụ nbipu nwee ike, jiri:

$ set -option

Iji gbanyụọ ụdị nbipu, jiri:

$ set +option

Na mgbakwunye, ọ bụrụ na anyị enyerela ọtụtụ ụdị debugging n'akụkụ dị iche iche nke edemede shei, anyị nwere ike gbanyụọ ha niile otu oge dị ka:

$ set -

Nke ahụ bụ maka ugbu a na-enyere ọnọdụ nbibi script shei. Dị ka anyị hụworo, anyị nwere ike mebie otu ederede shei dum ma ọ bụ akụkụ ụfọdụ nke edemede.

N'ime ihe omume abụọ na-esote nke usoro isiokwu a, anyị ga-ekpuchi otu esi eji nhọrọ nbipu ederede shei kọwaa verbose, nyocha syntax na tracing debugging ụdịdị na ihe atụ.

Nke dị mkpa, echefula ịjụ ajụjụ ọ bụla gbasara ntuziaka a ma ọ bụ ikekwe nye anyị nzaghachi site na ngalaba nkọwa n'okpuru. Ruo mgbe ahụ, nọrọ na njikọ Tecment.