Linux-da üýtgeýän üýtgeýän çalyşma we öňünden kesgitlenen BASH üýtgeýjileri - 11-nji bölüm


Üýtgeýjileri jikme-jik ara alyp maslahatlaşan BASH Shell-iň soňky iki makalasy okyjylarymyzyň arasynda ýokary baha berildi. “Tecmint-Team” hökmünde size iň täze, iň täze we jikme-jik mowzuklary hödürlemek isleýäris. Mundan başga-da, elmydama degişli mowzuklaryň esasy perspektiwalaryna degmäge synanyşýarys.

Ine, Linux üýtgeýjilerindäki iň soňky makala, bu mowzugy ýapmazdan ozal Shell-de kesgitlenen üýtgeýänleriň çalyşmalaryny we üýtgeýänlerini göreris.

Baş buýruk ýerine ýetirilmänkä üýtgeýän çalyşmagy ýerine ýetirýär. Linux Bash Shell buýrugy ýerine ýetirmezden ozal ähli $belgisini gözleýär we üýtgeýjiniň bahasy bilen çalyşýar. Baş üýtgeýän çalyşma prosesi diňe bir gezek amala aşyrylýar. Üýtgeýän üýtgeýänlerimiz bar bolsa näme etmeli?

Bellik: Içerki üýtgeýji diýmek bilen, üýtgeýäniň içinde yglan edilen üýtgeýjini göz öňünde tutýarys. Aşakdaky mysalda ýokardaky ssenariýany göreliň.

Diňe okalýan we aşakdaky ýaly ýerine ýetirip boljak üýtgeýjini yglan ediň.

[email :~$ declare -rx Linux_best_website="linux-console.net"

Saklanan üýtgeýjiniň bahasyny barlaň.

[email :~$ printf "%s" "$Linux_best_website" 

linux-console.net

Indi diňe “Diňe okamak we ýerine ýetirip bolýan” başga bir üýtgeýjini yglan ediň.

[email :~$ declare -rx Linux_website="Linux_best_website"

Indi ýagdaý, iki üýtgeýjini kesgitledik.

Linux_best_website, gymmaty\linux-console.net
we gymmaty\Linux_best_website bolan Linux_website

Aşakdaky bir setirli buýrugy işlesek, netijesi näme?

[email :~$ printf "%s" "$Linux_website"

Ilki bilen ' $Linux_ web sahypasy ' üýtgeýjisini\ Linux_best_website bahasy bilen çalyşmaly, soň bolsa\ $Linux_best_website üýtgeýjisi gymmaty\ linux-console.net . Şonuň üçin aşakdaky buýrugy işletmegiň iň soňky netijesi bolmaly.

[email :~$ printf "%s" "$Linux_website" 

linux-console.net

Emma, gynansak-da, bu beýle däl, alýan netijämiz Linux_best_website .

Sebäp? Upok! Baş üýtgeýjiniň bahasyny diňe bir gezek çalyşýar. Üýtgeýjileri ýygy-ýygydan çalyşmaly, şeýle hem üýtgeýjini bir gezekden köp çalyşmaly çylşyrymly skriptler we programmalar hakda näme aýdyp bilersiňiz?

Ine, skriptde bir gezekden köp üýtgeýän çalyşmagyň goşmaça işini ýerine ýetirýän ' baha ' buýrugy gelýär. Ine, tutuşlygyna aýna ýaly aýdyň etmek üçin mysal.

Bahasy 10 bolan x üýtgeýjini yglan ediň.

[email :~/Desktop$ declare x=10

Üýtgeýjiniň x bahasyny barlaň, ýaňy kesgitledik.

[email :~/Desktop$ echo $yx

x10

Bahasy x bolan y üýtgeýjini yglan ediň.

[email :~/Desktop$ declare y=x

Üýtgeýjiniň y bahasyny barlaň, ýaňy kesgitledik.

[email :~/Desktop$ echo $y 

x

Ine, üýtgeýän çalyşmagyň goşmaça tapgyryny ýerine ýetirmeýän BASH bir gezek üýtgeýän çalyşma meselesi. Muny düzetmek üçin baha buýrugyny ulanýarys.

[email :~/Desktop$ eval y=$x

Indi üýtgeýäniň y 'bahasyny barlaň.

[email :~/Desktop$ echo $y 

10

Hurray! Mesele düzedildi we baha bermek buýrugy ýaryşda ýeňiji boldy :)

Toeri gelende aýtsak, ' baha ' buýrugy uly skript programmalarynda gaty peýdaly we örän amatly guraldyr.

Bu ýazgynyň iň soňky, ýöne az bölegi BASH öňünden kesgitlenen üýtgeýjilerdir. ! Ok! Bu sanawy görüp howsala düşmäň. Birnäçesinden başga ssenariý ýazmaga başlamazdan ozal sanawy doly ýatda saklamaly däl. Okuw prosesiniň bir bölegi hökmünde, BASH öňünden kesgitlenen üýtgeýän sanawyny hödürleýäris.

Öňünden kesgitlenen BASH üýtgeýjisiniň ullakan sanawy bar. Iň köp ulanylýanlaryň sanawyny taýýarlamaga synanyşdyk.

Bularyň hemmesi häzirlikçe. Men ýene bir gyzykly makala bilen şu ýere gelerin. Soňra TecMint-e birikdiriň. Aşakdaky teswirler bölüminde bize gymmatly pikirleriňizi bermegi ýatdan çykarmaň.