Nghọta nke Linux Variables n'asụsụ Shell Scripting - Nkebi 9


Anyị edeela ọtụtụ akụkọ na Linux Shell Scripting bụ nke a na-anabata nke ọma n'oge ahụ yana ọ bara uru ọbụna ugbu a. Nke a bụ njikọ na nchịkọta akụkọ na edemede shei.

  1. Mụta scripting Shell Linux

N'ebe a n'isiokwu a, anyị ga-ahụ mgbanwe ndị ahụ, igbu ya na mmejuputa ya na edemede shei.

Enwere ike ibugharị mmepụta nke iwu na mmepụta ọkọlọtọ ma ọ bụ faịlụ ma nwee ike ịchekwa ya na mgbanwe, yana. Ọ bụrụ na mmepụta nke iwu buru ibu nke na ọ dabara na ihuenyo anyị na-ahapụ naanị na nhọrọ nke ịchekwa mmepụta na faịlụ na mgbanwe. Otu uru nke ịchekwa mmepụta na mgbanwe bụ ọsọ nyocha ngwa ngwa. A na-echekwa mgbanwe mgbanwe na ebe nchekwa ma ya mere ọ na-adị ngwa ngwa ka atụnyere iweghachite na faịlụ.

Variables bụ akụkụ dị mkpa eji na Shell scripting wee kwupụta site na iji bash iwu \Kwapụta. Iji kwupụta mgbanwe kwuo 'level', anyị kwesịrị ime iwu dị n'okpuru.

$ declare LEVEL

Mara: Anyị kwesịrị iji \typecast, nke e wuru na nkwupụta maka ndakọrịta shei korn. 'Nkwupụta' ahụ dị elu karịa ma nwee njirimara niile, ya mere a na-atụ aro ya mgbe ị na-eji BASH.

  1. Aha na-agbanwe agbanwe ga-eme ka o doo anya, iji agbanwe agbanwe na edemede.
  2. A na-adụ ọdụ ike iji otu aha agbanwe agbanwe n'oge mmemme.
  3. Aha mgbanwe nwere ike ịbụ mkpụrụedemede ukwu yana obere obere mana site na nkwekọrịta shei iwu dị na obere mkpụrụedemede, yabụ anyị kwesịrị iji aha variables na mkpụrụedemede ukwu, ka anyị wee wepụ mgbagwoju anya ọ bụla. ọmụmaatụ, TOTAL_BILLED_AMOUNT, SELL_REPORT, ORDER_RECEIPT, wdg.

Enwere ike ịkenye mgbanwe otu uru site na iji akara nhata (=). Iji kenye eriri efu na mgbanwe, anyị agaghị enye uru ọ bụla ma akara nha anya.

$ LEVEL =

Lelee uru echekwara na agbanwe 'LEVEL' ka.

$ printf "%i" $LEVEL

printf, iwu ọtụtụ ndị mmemme 'C' maara, na-ebipụta data. %i - na-anọchite anya ọnụọgụgụ. Anyị nwere ike dochie ya na %c maka Character ma ọ bụ %c maka eriri, dịka na mgbe achọrọ.

$LEVEL: Rịba ama ''$' nke na-arụ ọrụ dị ka ihe ngbanwe uru maka 'LEVEL' na-agbanwe agbanwe.

$ printf "%i" $LEVEL
0

Kenye uru na mgbanwe.

$ LEVEL=0

Lelee data echekwara na mgbanwe.

$ printf "%i" $LEVEL
0

IHE: Ọ bụ ihe na-adọrọ mmasị ịmara na n'ọnọdụ abụọ ahụ, mgbe anyị ekenyeghị uru na mgbanwe na mgbe anyị kenyere uru '0' na mgbanwe 'LEVEL' pụtara 0. Ọ bụ ezie na mmepụta ahụ bụ otu n'ime abụọ ahụ. mana edemede shei na-ejikwa ma nkwupụta agbanwe agbanwe n'ụzọ dị iche.

Kenye uru ọhụrụ na mgbanwe.

$ LEVEL=121

Lelee data echekwara na mgbanwe.

$ printf "%i" $LEVEL
121

Kwuwapụta bụ iwu BASH na ọ na-emepụta mgbanwe naanị mgbe emechara ya. Ngbanwe nke emepụtara na-anọgide na ebe nchekwa ruo mgbe edemede ahụ kwụsịrị ma ọ bụ mebie mgbanwe ahụ.

$ unset LEVEL

BASH nwere ihe karịrị mgbanwe 50 akọwara ụzọ. Ụfọdụ n'ime mgbanwe ndị a nwere ihe pụrụ iche agbakwunyere na BASH dịka ọmụmaatụ, RANDOM na-agbanwe agbanwe na-ewepụta nọmba enweghị usoro. Ọ bụrụ na edoghị ya ma kọwaa ya ọzọ, uru mgbanwe mbụ na-efunahụ ya ruo mgbe ebighị ebi. N'ihi ya, a na-adụ ọdụ ka ị ghara iji usoro ọ bụla akọwapụtara agbanwe agbanwe.

Nke a bụ ndepụta ụfọdụ mgbanwe BASH bara uru.

  1. BASH — Aha ụzọ Bash zuru oke.
  2. BASH_ENV—N'edemede shei, aha faịlụ profaịlụ emechara tupu ebido edemede ahụ.
  3. BASH_VERSION—Ụdị Bash (dịka ọmụmaatụ, 2.04.0(1) mwepụta).
  4. COLUMNS—Ọnụ ọgụgụ nke mkpụrụedemede kwa ahịrị dị na ngosipụta gị (dịka ọmụmaatụ, 80).
  5. HOSTNAME—Aha kọmputa. N'okpuru ụfọdụ ụdị Linux, nke a nwere ike ịbụ aha igwe. N'ebe ndị ọzọ, ọ nwere ike ịbụ aha ngalaba tozuru oke.
  6. HOSTTYPE—Ụdị kọmputa.
  7. ỤLỌ—Aha akwụkwọ ndekọ aha ụlọ gị.
  8. OSTYPE—Aha sistemụ arụmọrụ.
  9. PATH—Ndepụta ụzọ ọchụchọ dị iche iche iji chọta iwu ịme.
  10. PPID—NJ usoro nke usoro nne na nna shei.
  11. PROMPT_COMMAND — Nye iwu ka emee tupu ịtọlite eriri ngwa ngwa PS1 isi.
  12. PWD—Akwụkwọ ndekọ aha na-arụ ọrụ ugbu a (dị ka iwu cd si ahazi ya).
  13. RANDOM—Na-eweghachite nọmba enweghị usoro n'etiti 0 na 32767 oge ọ bụla e zoro aka na ya.
  14. SHELL — shei kacha amasị iji; maka mmemme na-amalite shei maka gị.
  15. TERM—Ụdị nṅomi ọnụ (dịka ọmụmaatụ, console).

Iwu nke ikewa okwu.

$ LEVEL=0
$ printf "%i" $LEVEL
0

AND

$ LEVEL=”0”
$ printf "%i" $LEVEL
0

N'okwu abụọ a, mmepụta na-anọgide otu. Yabụ kedu ihe dị iche na nsonaazụ mgbe ị na-eji nkwuputa okwu?

Ka anyị jiri data mgbanwe dị iche iche lelee otu ihe ahụ.

$ LEVEL=0 ; 1 ; 2 ; 3 ; 4 ; 5
bash: 1: command not found 
bash: 2: command not found 
bash: 3: command not found 
bash: 4: command not found 
bash: 5: command not found
$ printf "%i" $LEVEL
0

N'ikwu okwu, mmepụta adịghị mma. BASH na-ewere ohere mgbe '0' dị ka nkwụsị na ya mere a na-edozi uru nke mgbanwe dị ka '0'. Ugbu a, anyị na-agbalị iji nhota maka mgbanwe dị ka n'okpuru.

$ LEVEL=”0 ; 1 ; 2 ; 3 ; 4 ; 5”
$ printf "%s" $LEVEL 
0;1;2;3;4;5

N'agbanyeghị nke ahụ, nsonaazụ ezighi ezi. BASH weere ụkpụrụ ndị na-agbanwe agbanwe wee wepụ oghere niile dị n'etiti ha. N'ihi ya, printf akọwaghị 0,1,2,3,4,5 dị ka ụkpụrụ dị iche iche. Yabụ kedu ihe ngwọta ya?

printf "%s" "$LEVEL" 
0 ; 1 ; 2 ; 3 ; 4 ; 5

Ee! Itinye mgbanwe mgbanwe n'okpuru nhota bụ ihe ngwọta. Nhota na-ahazi mkpụrụedemede na shei wee kọwapụta mkpụrụedemede pụrụ iche n'ụzọ bara uru.

Enwere ike iji nhota mee ihe azụ na azụ ma ọ dị mma ka ejiri nhota tinye ihe ngbanwe agbanwe. Ọzọkwa enwere ike iji ya kewaa ederede n'ozuzu ya na nhota okwu. Nke a bụ ihe atụ.

$ LEVEL=5 
$ FLAG_MESSAGE="I HAVE CLEARED LEVEL""$LEVEL"". I Deserve appreciation." 
$ printf “%s” “$FLAG_MESSAGE”
“I HAVE CLEARED LEVEL5. I Deserve appreciation.”

Ikewa akụkụ nke ederede e hotara na oghere ga-ebute otu nsogbu ahụ a tụlere n'elu. Bash ga-emeso oghere ọcha dị ka nkwụsị. Ụzọ ọzọ nke mgbanwe mgbanwe bụ.

$ LEVEL=5

$ FLAG_MESSAGE="I HAVE CLEARED LEVEL ${LEVEL}. I Deserve appreciation." 

$ printf “%s” "$FLAG_MESSAGE" 
“I HAVE CLEARED LEVEL 5. I Deserve appreciation.”

Ntụtu otu na-egbochi BASH site na ibipụta mkpụrụedemede pụrụ iche.

$ printf “%s” '$FLAG_MESSAGE'
“$FLAG_MESSAGE”

Backslash na-arụ ọrụ dị ka otu mkpụrụ okwu maka otu agwa. Ị chere ka ị ga-esi bipụta (\)?

$ printf "%c" "\""

Mgbe %q jikọtara ya na printf, na-enye azụ azụ mgbe okwu ọ bụla gasịrị iji hụ na oghere okwu dị.

$ LEVEL=5

$ FLAG_MESSAGE="I HAVE CLEARED LEVEL ${LEVEL}. I Deserve appreciation." 

$ printf “%q” "$FLAG_MESSAGE" 
“I\ HAVE\ CLEARED\ LEVEL\ 5.\ I\ Deserve\ appreciation.”

Nke ahụ bụ ihe niile ugbu a. Anyị na-agbalị mgbe niile ịnye ndị na-agụ akwụkwọ anyị akụkọ ndị bara uru maka ha mgbe ọ bụla. Edemede a ekpuchiri elu dị ukwuu n'ihi ya, a ga-emepụta isiokwu ndị ọzọ nwere ihe atụ n'isiokwu na-esote nke ga-agụnye 'Ụdị mgbanwe', 'Mbupụ mgbanwe' wdg.

Ruo mgbe ahụ, nọrọ na nche wee jikọọ na linux-console.net. Echefula ịnye anyị nzaghachi gị bara uru na ngalaba nkọwa n'okpuru.