Itan-nkan iyipada Nested ati Awọn oniyipada BASH ti a ṣalaye tẹlẹ ni Linux - Apá 11


Nkan meji ti o kẹhin lori BASH Shell, nibiti a ti ṣe ijiroro awọn oniye ni alaye ni a ṣeyin pupọ laarin awọn onkawe wa. A bi Tecmint-Team fẹran pupọ lati fun ọ ni Titun, Imudojuiwọn ati awọn akọle ti o yẹ ti o bo ni awọn alaye. Pẹlupẹlu a nigbagbogbo gbiyanju lati fi ọwọ kan awọn iwo pataki ti awọn akọle ti o baamu.

Eyi ni nkan ti o kẹhin lori Awọn oniyipada Linux nibiti a yoo rii iyipada awọn oniyipada ati awọn oniyipada ti a ṣalaye ni Ikarahun ṣaaju ki o to pa koko yii.

Bash ṣe iyipada iyipada ṣaaju pipaṣẹ naa ni pipa gan. Wiwa Linux Bash Shell fun gbogbo ami ‘$’ ṣaaju ṣiṣe pipaṣẹ ki o rọpo rẹ pẹlu iye iyipada. Ilana ti aropo Bash ayípadà ṣee ṣe ni ẹẹkan. Kini ti a ba ni awọn oniye itẹ-ẹiyẹ?

Akiyesi: Nipa oniye oni iteeye a tumọ si, oniyipada ti o kede inu oniyipada. Jẹ ki a rii iṣẹlẹ ti o wa loke ninu apẹẹrẹ ni isalẹ.

Ṣe ikede oniyipada eyiti o jẹ Ka-nikan ati Ṣiṣẹ bi isalẹ.

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

Ṣayẹwo iye ti oniyipada ti o fipamọ.

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

linux-console.net

Bayi sọ oniyipada miiran eyiti o tun jẹ Ka-nikan ati Ṣiṣẹ.

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

Bayi ipo naa jẹ, a ti ṣalaye awọn oniyipada meji.

'Linux_best_website', iye ti eyi ni\"linux-console.net"
ati, 'Linux_website', iye ti eyi jẹ\"Linux_best_website"

Kini yoo jẹ abajade, ti a ba ṣiṣẹ aṣẹ ila ila kan ni isalẹ?

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

O yẹ ki o kọkọ rọpo oniyipada ' $Linux_website ', pẹlu iye\" Linux_best_website " ati lẹhinna\" $Linux_best_website " jẹ lẹẹkansi oniyipada kan iye eyi ti o jẹ\" linux-console.net ". Nitorina iṣuṣẹ ikẹhin ti ṣiṣe pipaṣẹ isalẹ yẹ ki o jẹ.

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

linux-console.net

Ṣugbọn laanu, eyi kii ṣe ipo naa, iṣelọpọ ti a ngba ni Linux_best_website .

Idi? Yup! Bash rọpo iye ti oniyipada ni ẹẹkan. Kini nipa awọn iwe afọwọkọ ti o nira ati awọn eto nibiti a nilo lati rọpo awọn oniyipada nigbagbogbo bi daradara bi awọn iwulo lati rọpo oniyipada ju ẹẹkan lọ?

Eyi ni aṣẹ ‘ eval ’ wa eyiti o ṣe iṣẹ afikun ti rirọpo iyipada diẹ sii ju ẹẹkan ninu iwe afọwọkọ kan. Eyi ni apẹẹrẹ lati jẹ ki gbogbo ṣiṣẹ bi o ṣe kedere bi gilasi.

Ṣe ikede oniyipada kan x , iye ti eyiti o jẹ 10 .

[email :~/Desktop$ declare x=10

Ṣayẹwo iye ti oniyipada x , a kan ṣalaye.

[email :~/Desktop$ echo $yx

x10

Sọ oniyipada kan y , iye ti eyiti o jẹ x .

[email :~/Desktop$ declare y=x

Ṣayẹwo iye ti oniyipada y , a ṣalaye.

[email :~/Desktop$ echo $y 

x

Eyi ni iṣoro ti BASH rirọpo iyipada akoko kan, eyiti ko ṣe iyipo afikun ti iyipada iyipada. A n lo ‘ eval ‘ pipaṣẹ lati ṣatunṣe eyi.

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

Bayi ṣayẹwo Iye ti iyipada ‘ y ‘.

[email :~/Desktop$ echo $y 

10

Yara! Ti ṣe agbekalẹ ọrọ naa ati pe 'eval' pipaṣẹ ṣẹgun ije :)

Lai mẹnuba, ‘ eval ‘ pipaṣẹ ṣe iranlọwọ pupọ ninu awọn eto iwe afọwọkọ nla ati pe o jẹ ọpa ti o ni ọwọ pupọ.

Ikẹhin ṣugbọn kii ṣe apakan ti o kere julọ ti ifiweranṣẹ yii jẹ awọn oniyipada tẹlẹ BASH. Rárá! Maṣe ni ijaaya ri atokọ yii. Iwọ ko nilo lati ranti gbogbo atokọ ṣaaju ki o to bẹrẹ kikọ awọn iwe afọwọkọ ayafi diẹ. Gẹgẹbi apakan ti ilana ẹkọ, a n ṣe afihan Akojọ oniyipada tẹlẹ BASH.

Atokọ nla wa ti tẹlẹ BASH Oniyipada. A ti gbiyanju lati ṣe atokọ ti lilo nigbagbogbo.

Iyẹn ni gbogbo fun bayi. Emi yoo wa nibi lẹẹkansi pẹlu nkan miiran ti o nifẹ. Titi lẹhinna wa ni aifwy ati sopọ si TecMint. Maṣe gbagbe lati pese wa pẹlu awọn esi rẹ ti o niyelori ni apakan asọye ni isalẹ.