Pagsabot ug Pagsulat sa mga Variable sa Linux sa Shell Scripting - Bahin 10


Ang Linux shell scripting nga pinulongan kanunay nga usa ka mainit nga hilisgutan ug kanunay nga sa umaabot. Ang Shell Scripting Language usa ka mahika ug sayon kaayo nga buhaton ang usa ka programa sa scripting nga pinulongan sama sa bisan unsang lain nga Pinulongan. Bisan pa, kini nanginahanglan usa ka lawom nga kahibalo kung unsa ang atong gibuhat ug kung unsa ang gipaabut nga sangputanan.

Ang tanan nga mga shell scripting nga mga artikulo nga among gisulat alang sa among mga magbabasa gipabilhan pag-ayo lakip ang katapusan nga \An Insight of Linux Variables. Kami nagpalapad sa katapusang artikulo sa usa ka bag-ong Level.

Variable nga mga Hiyas

Ang matag Variable sa Linux Environment adunay piho nga mga kapilian, ug kana gitawag nga 'mga hiyas'. Kini nga mga opsyon o mga hiyas mahimong i-On ug Off, kung gikinahanglan sumala sa sitwasyon gamit ang command \declare.

Usa ka Ehemplo sa variable nga attribute mao ang paggamit sa switch ingon nga '-i' nga mag-turn on sa integer attribute para sa katugbang nga variable. Bisan kung ang usa ka dili-numero nga kantidad gipasa aron ibalhin ang '-i' dili kini magbutang usa ka mensahe sa sayup ug output nga '0' ingon integer nga paghubad. Dinhi kini nahimong mas tin-aw gikan sa panig-ingnan sa ubos.

Ipahayag ang usa ka variable nga Integer, bill = 121

[email :~$ declare -i bill=121

I-printf ang bili sa variable bill.

[email :~$ printf "%d\n" "$bill" 

121

Himoa nga ang variable value usa ka string. Gideklara na ang variable bill, dili na kinahanglan nga ideklarar kini sa ikaduhang higayon. Usba lang ang bili sa variable as.

[email :~$ bill=tecmint

Karon, i-print pag-usab ang bili sa variable bill.

[email :~$ printf "%d\n" "$bill" 

0

Matikdi ang ‘0‘ sa dapit sa mensahe sa sayop.

[email :~$ declare -p bill 

declare -i bill="121"

Dinhi, ang usa ka -p (nagpasabot sa print) switch moabut aron sa pagluwas.

Aron ma-switch ang Off ang mga attribute sa usa ka variable ang kinahanglan natong tanan mao ang pagbutang og + (plus) sign sa dili pa ang switch. Dinhi kini mas klaro gikan sa panig-ingnan sa ubos.

I-switch Off ang integer attribute para sa naa sa ibabaw nga variable.

[email :~$ declare +i bill

Susiha ang bili sa variable.

[email :~$ printf "%d\n" "$bill" 

bash: printf: bill: invalid number
0

Karon i-print ang bili sa variable gamit ang switch string.

[email :~$ printf "%s\n" "$bill" 

tecmint

Dinhi sa ibabaw nga pananglitan, ang bash dili makahukom sa dili-numero nga bili isip sayop, bisan pa ang printf naghubad, unsa ang mahimo nga usa ka numero ug unsa ang dili mahimo.

Read-only Variables

Mahimong nakadungog ka sa Read Only Memory (ROM), apan unsa ang Read-only Variable? Aduna ba kini kaparehas sa ROM?

Maayo nga Read-only Variables sama sa Read-only Memory maoy usa ka butang nga ang bili niini dili na mausab sa higayon nga kini ma-assign. Busa gitawag kini nga Read-only. Dili ka makasulat, mag-edit o magbag-o sa usa ka bag-ong kantidad alang sa kana nga variable. Ania ang usa ka ilustrasyon gamit ang pananglitan.

Decalre ug read only (-r) variable name, ang bili niini mao ang \linux-console.net.

[email :~$ declare -r name="linux-console.net"

Printf ang bili sa ibabaw nga gipahayag nga variable.

[email :~$ printf "%s\n" "$name" 

linux-console.net

Sulayi nga usbon ang bili sa variable.

[email :~$ declare -r name="Avishek" 

bash: declare: name: readonly variable

Sama sa gihisgutan sa ibabaw ang mga kinaiya sa usa ka read-only nga Variable mahimong usbon gamit ang '+' nga timaan.

Pag-eksport sa mga Variable sa Linux

Ang tanan nga mga variable sa kabhang nga gipahayag sa usa ka script sa kabhang magamit hangtod nga nagdagan ang script. Sa gawas sa script ang variable gikan sa script wala maglungtad. Ang proseso sa paghimo sa mga variable nga magamit sa gawas sa script gitawag nga pag-eksport sa mga variable.

Ang usa ka Variable mahimong ma-export sa gawas sa shell gamit ang switch declare -x (export), nga moila sa shell kung unsa ang gusto nimo i-export. Usa ka deklarasyon nga export switch mahimong gamiton ingon nga.

[email :~$ declare -x variable=”Constant_Value”

Ang tanan nga mga pagbag-o nga gihimo sa variable samtang ang script nagdagan, nawala kung ang variable gi-eksport sa gawas sa script. Ang pag-eksport sa variable hinungdanon kaayo sa shell scripting.

Gusto namon nga adunay usa ka variable nga kinahanglan nga read-only ug magamit sa gawas sa script, kinahanglan namon nga gamiton ang switch -r ug switch -x sa parehas nga oras.

[email :~$ declare -rx variable=”Constant_Value”

Mga Variable sa Kalikopan

Ang mga variable nga gipaambit tali sa programa ug sa programa nga nagpatuman niini. Ang mga variable sa palibot mahimong ma-eksport apan ang mga hiyas dili ma-assign niini.

Praktikal nga pagsabot sa teoriya sa ibabaw. Dinhi kita adunay duha ka script 0.sh ug 1.sh.

# 0.sh
#!/bin/bash 
declare -rx name=Tecmint 
bash 0.sh 
exit 0

Ug ang ikaduha nga script mao ang.

# 1.sh
#!/bin/bash 
printf "%s\n" "$name" 
name=linux-console.net 
printf "%s\n" "$name"
exit 0

Dinhi kung unsa ang nahitabo, ang usa ka variable (ngalan) gipahayag nga gibasa lamang ug gi-export ug pagkahuman nga gitawag ang ikaduha nga script.

Ang ikaduha nga script nag-imprinta lang sa variable gikan sa unang script nga gi-eksport sa unang printf nga pahayag. Sa ikaduha nga printf nga pahayag nagpakita kini sa bag-ong bili nga gi-assign sa variable 'ngalan'.

Dili kinahanglan nga mabalaka, nga ang variable kay read-only, unsaon kini pag-reassign. Wala ba nimo mahinumduman nga \Ang tanan nga mga pagbag-o nga gihimo sa variable samtang ang script nagdagan, nawala kung ang variable gi-eksport sa gawas sa script.

Ang deklara nga sugo nagtugot sa tanang switch sa ubos uban sa kombinasyon niini.

  1. -a : Nagpahayag ug array.
  2. -f : Ipakita ang Function ug Depinisyon.
  3. -F : Ipakita ang Ngalan sa Function.
  4. -r : Ideklara ang variable isip read-only.
  5. -x : Ideklara ang Variable isip Exportable.
  6. -I : Ideklara ang variable isip Integer.

Kana lang sa pagkakaron. Sa sunod nga artikulo atong hisgotan ang mga paagi sa pag-ilis sa mga variable gamit ang 'eval' nga sugo ug ang mga variable nga gihubit na sa bash sa wala pa isira kini nga hilisgutan. Hinaot nga kamong mga tawo nalingaw sa inyong panaw ngadto sa lawom nga scripting. Hangtud unya magpabilin nga tuned ug konektado sa linux-console.net.