Ịghọta na Ide Linux Variables na Shell Scripting - Nkebi 10


Asụsụ scripting shei Linux abụrụla isiokwu na-ekpo ọkụ na ọ ga-adịkwa n'ọdịnihu. Asụsụ Shell Scripting bụ anwansi na ọ dị mfe ịme mmemme n'asụsụ scripting dị ka n'asụsụ ọ bụla ọzọ. Otú ọ dị, ọ chọrọ ihe ọmụma miri emi nke ihe anyị na-eme na ihe a na-atụ anya ya pụta.

Edemede ederede shei niile anyị deere ndị na-agụ anyị nwere ekele nke ukwuu gụnyere nke ikpeazụ An Insight of Linux Variables Anyị na-agbatị akụkọ ikpeazụ n'ọkwa ọhụrụ.

Àgwà ndị agbanwe agbanwe

Onye ọ bụla mgbanwe na Linux Environment nwere ụfọdụ nhọrọ, na ndị a na-akpọ 'àgwà'. Enwere ike ịgbanwuo nhọrọ ma ọ bụ njirimara ndị a Gbanye na Gbanyụọ, mgbe achọrọ dị ka ọnọdụ ahụ si dị site na iji iwu \kwuwapụta.

Ọmụmaatụ nke àgwà mgbanwe bụ iji mgba ọkụ sị '-i' nke ga-agbanye njiri mara integer maka mgbanwe kwekọrọ. Ọbụlagodi na agafere uru na-abụghị ọnụọgụ ka ịgbanwee ''-i' ọ gaghị atụba ozi njehie na mmepụta ''0' dị ka nkọwa integer. N'ebe a, ọ na-apụtawanye ìhè site na ihe atụ n'okpuru.

Kwupụta ọnụọgụ ọnụọgụgụ, ụgwọ = 121

[email :~$ declare -i bill=121

Bipụta uru nke ụgwọ agbanwe agbanwe.

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

121

Ka uru agbanwere bụrụ eriri. Ekwupụtalarị ụgwọ ahụ agbanweela, ọ dịghị mkpa ikwupụta ya nke ugboro abụọ. Naanị gbanwee uru nke mgbanwe dị ka.

[email :~$ bill=tecmint

Ugbu a, bipụtakwa uru nke ụgwọ agbanwe agbanwe.

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

0

Rịba ama ''0' na ebe ozi njehie.

[email :~$ declare -p bill 

declare -i bill="121"

N'ebe a, mgba ọkụ -p (nke pụtara maka mbipụta) na-abịa napụta.

Iji gbanye Gbanyụọ njirimara nke mgbanwe ihe niile anyị chọrọ bụ itinye akara + (gbakwunyere) obere oge tupu mgba ọkụ. N'ebe a, o doro anya site na ihe atụ n'okpuru.

Gbanyụọ Gbanyụọ njirimara integer maka mgbanwe dị n'elu.

[email :~$ declare +i bill

Lelee uru nke mgbanwe.

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

bash: printf: bill: invalid number
0

Ugbu a bipụta uru nke mgbanwe site na iji eriri mgba ọkụ.

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

tecmint

N'ebe a na ihe atụ dị n'elu, bash enweghị ike ikpebi uru na-abụghị ọnụọgụ dị ka njehie, agbanyeghị printf na-atụgharị, gịnị nwere ike ịbụ nọmba na ihe na-enweghị ike ịbụ.

Ngbanwe naanị ọgụgụ

O nwere ike ịbụ na ị nụla Read Only Memory (ROM), mana gịnị bụ Ọgụgụ-naanị Variable? Ọ nwere myirịta ọ bụla na ROM?

Ọdịiche Ọgụgụ-naanị Ọdịmma dị ka ebe nchekwa na-agụ naanị bụ ihe uru ya enweghị ike ịgbanwe ozugbo ekenye ya. N'ihi ya, a na-akpọ ya naanị Ọgụgụ. Ị nweghị ike ide, dezie ma ọ bụ gbanwee uru ọhụrụ maka mgbanwe ahụ. Nke a bụ ihe atụ na-eji ihe atụ.

Kpochapụ aha na-agụ naanị (-r), uru ya bụ \linux-console.net.

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

Bipụta uru nke agbanweela n'elu ekwuputara.

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

linux-console.net

Gbalịa ịgbanwe uru nke mgbanwe.

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

bash: declare: name: readonly variable

Dị ka a tụlere n'elu njirimara nke mgbanwe naanị ọgụgụ nwere ike gbanwee site na iji akara ''+'.

Mbupụ Variables na Linux

Ụdị mgbanwe shei niile ekwuputara na edemede shei dị ruo mgbe edemede ahụ na-agba ọsọ. N'èzí edemede ihe agbanwe agbanwe si na edemede adịghị. Usoro ime mgbanwe dị na mpụga nke edemede ka a na-akpọ mbupụ mgbanwe.

Enwere ike ibupu ihe mgbanwe na mpụga shei ahụ site na iji mgba ọkụ kwupụta -x(bupu), nke na-ekweta shei ihe ịchọrọ ibupu. Enwere ike iji mgba ọkụ nkwuputa mbupụ dị ka.

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

Mgbanwe niile e mere na mgbanwe mgbe edemede na-agba ọsọ, na-efunahụ mgbe mgbanwe ahụ na-ebupụ n'èzí nke edemede ahụ. Mbupu mgbanwe dị oke mkpa na edemede shei.

Anyị chọrọ inwe mgbanwe nke kwesịrị ịgụ naanị ma dị na mpụga nke edemede ahụ, anyị kwesịrị iji mgba ọkụ -r wee gbanwee -x n'otu oge.

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

Ngbanwe gburugburu

Ụdị mgbanwe ndị a na-ekerịta n'etiti mmemme na mmemme na-eme ha. Enwere ike ibupu mgbanwe gburugburu ebe obibi mana enweghị ike ikenye njirimara ya.

Ịghọta tiori dị n'elu nke ọma. N'ebe a, anyị nwere edemede abụọ 0.sh na 1.sh.

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

Na edemede nke abụọ bụ.

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

N'ebe a ihe na-eme, bụ mgbanwe (aha) na-ekwupụta dị ka a na-agụ naanị ma na-ebupụ na ozugbo a na-akpọ edemede nke abụọ ahụ.

Edemede nke abụọ ka ebipụtara mgbanwe site na edemede mbụ nke ebupụrụ na nkwupụta printf nke mbụ. Na nkwupụta printf nke abụọ ọ na-egosi uru ọhụrụ e kenyere na agbanwe ''aha'.

Ọ dịghị mkpa ichegbu onwe gị, na mgbanwe ahụ bụ naanị ọgụgụ, olee otu a ga-esi nyegharịa ya. Ị chetara na \Mgbanwe niile emere na mgbanwe mgbe edemede na-aga, na-efunahụ mgbe ebupụrụ mgbanwe ahụ na mpụga nke edemede.

Iwu kwupụta na-enye ohere mgbanwe niile dị n'okpuru yana nchikota ha.

  1. -a : Na-ekwupụta nhazi.
  2. -f : Ọrụ ngosi na nkọwapụta.
  3. -F : Aha ọrụ ngosi.
  4. -r : Kwuwapụta mgbanwe dị ka naanị ọgụgụ.
  5. -x : Kwuwapụta mgbanwe dị ka mbupụ.
  6. -I : Kwuwapụta mgbanwe dị ka Integer.

Nke ahụ bụ ihe niile ugbu a. N'isiokwu na-esote, anyị ga-atụle ụzọ iji dochie mgbanwe mgbanwe site na iji 'eval'iwu na mgbanwe ndị akọwapụtaralarị na bash tupu imechi isiokwu a. Enwere m olileanya na ị na-anụ ụtọ njem gị na omimi nke edemede. Ruo mgbe ahụ nọrọ na nche wee jikọọ na linux-console.net.