Razumijevanje i pisanje Linux varijabli u skriptiranju ljuske - Dio 10


Linuxov skriptni jezik ljuske uvijek je bio vruća tema i uvijek će biti u budućnosti. Shell skriptni jezik čaroban je i tako je jednostavno izvesti program na skriptnom jeziku kao i na bilo kojem drugom jeziku. Međutim, potrebno je dubinsko znanje o tome što radimo i kakav se rezultat očekuje.

Svi članci o skriptiranju ljuske koje smo napisali za naše čitatelje izuzetno su cijenjeni, uključujući i posljednji "Uvid u Linux varijable". Proširujemo posljednji članak na novu razinu.

Atributi varijable

Svaka varijabla u Linux okruženju ima određene opcije, a one se nazivaju "atributima". Te se opcije ili atributi mogu uključiti Uključeno i Isključeno , kada je to potrebno prema situaciji pomoću naredbe "deklariraj".

Primjer atributa varijable koristi prekidač recimo " -i " koji će uključiti atribut cijelog broja za odgovarajuću varijablu. Čak i ako se prebaci ne-numerička vrijednost za prebacivanje " -i ", neće se pojaviti poruka o pogrešci i izlaz " 0 " kao interpretacija cijelog broja. Ovdje to postaje jasnije iz primjera u nastavku.

Proglasite varijablu Integer, račun = 121

[email :~$ declare -i bill=121

Ispis vrijednosti promjenjivog računa.

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

121

Vrijednost varijable neka bude niz. Promjenjivi račun je već prijavljen, ne treba ga prijaviti drugi put. Samo promijenite vrijednost varijable kao.

[email :~$ bill=tecmint

Sada opet ispišite vrijednost varijabilnog računa.

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

0

Obavijest " 0 " na mjestu poruke o pogrešci.

[email :~$ declare -p bill 

declare -i bill="121"

Ovdje dolazi u pomoć prekidač -p (označava ispis).

Da bismo isključili Isključeno , atributi varijable ono što nam sve treba je staviti znak + ( plus ) neposredno prije prekidača. Ovdje je to jasnije iz primjera u nastavku.

Isključite Isključeno atribut cijelog broja za gornju varijablu.

[email :~$ declare +i bill

Provjerite vrijednost varijable.

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

bash: printf: bill: invalid number
0

Sada ispišite vrijednost varijable pomoću preklopnog niza.

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

tecmint

Ovdje u gornjem primjeru, bash nije mogao procijeniti nenumeričku vrijednost kao pogrešku, međutim printf tumači, što bi mogao biti broj, a što ne.

Varijable samo za čitanje

Možda ste čuli memoriju samo za čitanje ( ROM ), ali što je varijabla samo za čitanje? Ima li sličnosti s ROM-om?

Pa, varijable samo za čitanje, poput memorije samo za čitanje, nešto je čija se vrijednost ne može promijeniti nakon što joj se dodijeli. Stoga se zove samo za čitanje. Ne možete napisati, urediti ili izmijeniti novu vrijednost za tu varijablu. Evo ilustracije na primjeru.

Otkrijte naziv varijable samo za čitanje ( -r ) čija je vrijednost "linux-console.net".

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

Ispišite vrijednost gore deklarirane varijable.

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

linux-console.net

Pokušajte promijeniti vrijednost varijable.

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

bash: declare: name: readonly variable

Kao što je gore spomenuto, atributi varijable samo za čitanje mogu se mijenjati znakom ‘ + ’.

Izvoz varijabli u Linux

Sve varijable ljuske deklarirane u skripti ljuske dostupne su dok se skripta ne pokrene. Izvan skripte varijabla iz skripte ne postoji. Proces stavljanja varijabli na raspolaganje izvan skripte naziva se izvoz varijabli.

Varijabla se može izvesti izvan ljuske pomoću preklopnika deklariraj -x (izvoz), koji ljusci potvrđuje ono što ste željeli izvesti. Sklopka za deklariranje izvoza može se koristiti kao.

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

Sve promjene napravljene u varijabli dok se skripta izvodi, gube se kada se varijabla izvozi izvan skripte. Izvoz varijable vrlo je važan u skriptiranju ljuske.

Želimo imati varijablu koja bi trebala biti samo za čitanje i dostupna izvan skripte, istovremeno moramo koristiti switch -r i switch -xx .

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

Varijable okoline

Varijable koje dijele program i program koji ih izvršava. Varijable okruženja mogu se izvesti, ali joj se ne mogu dodijeliti atributi.

Razumijevanje gornje teorije praktično. Ovdje imamo dvije skripte 0.sh i 1.sh .

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

A druga skripta je.

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

Ovdje se događa promjenjiva (ime) koja se deklarira kao samo za čitanje i izvozi te se odmah nakon te druge skripte poziva.

Druga skripta upravo je ispisala varijablu iz prve skripte koja je izvezena u prvom izrazu printf . U drugom iskazu printf prikazuje novu vrijednost dodijeljenu varijabli ‘ ime ’.

Ne trebate brinuti, da je varijabla bila samo za čitanje, kako se može ponovno dodijeliti. Zar se ne sjećate da se "Sve promjene napravljene u varijabli dok se skripta izvodi, gube se kada se varijabla izvozi izvan skripte."

Naredba deklariraj omogućuje sve donje sklopke zajedno s njihovom kombinacijom.

  1. -a : Deklarira niz.
  2. -f : Funkcija i definicija prikaza.
  3. -F : Prikaz naziva funkcije.
  4. -r : Proglasi varijablu samo za čitanje.
  5. -x : Proglasite varijablu izvoznom.
  6. -I : Proglasi varijablu kao Integer.

To je sve za sada. U sljedećem ćemo članku raspravljati o načinima zamjene varijabli pomoću naredbe ‘ eval ’ i varijablama koje su već definirane u bashu prije zatvaranja ove teme. Nadam se da uživate u svom putovanju do dubinskog skriptiranja. Do tada ostanite uz nas i povezani s linux-console.net.