Imọye ti Lainos "Awọn oniyipada" ni Ede Ibohun Ikarahun - Apá 9


A ti kọ tẹlẹ lẹsẹsẹ ti awọn nkan lori Ikarahun Shell Linux eyiti o ṣe itẹwọgba igbadun ni akoko yẹn ati pe o wulo pupọ paapaa ni bayi. Eyi ni ọna asopọ si ikojọpọ awọn nkan lori iwe afọwọkọ ikarahun.

  1. Kọ ẹkọ Iwe ikarahun Ikarahun Linux

Nibi ni nkan yii a yoo rii awọn oniyipada, ipaniyan rẹ ati imuse rẹ ni iwe afọwọkọ ikarahun.

Iṣaṣe aṣẹ kan le ṣe darí si iṣelọpọ deede tabi faili kan ati pe o le wa ni fipamọ ni oniyipada kan, bakanna. Ti iṣelọpọ ti aṣẹ ba tobi to bii pe ko baamu loju iboju a fi silẹ nikan pẹlu aṣayan fifipamọ iṣẹjade si faili kan si oniyipada kan. Anfani kan ti fifipamọ iṣelọpọ si oniyipada jẹ iyara ayewo yarayara. Awọn oniyipada ti wa ni fipamọ sinu iranti ati nitorinaa o duro lati yara bi akawe si igbapada lati faili.

Awọn oniyipada jẹ paati pataki ti a lo ninu kikọ Shell ati pe a kede nipa lilo aṣẹ bash\"Sọ". Lati kede oniyipada kan sọ ‘ipele‘, a nilo lati ṣe pipaṣẹ isalẹ.

$ declare LEVEL

Akiyesi: A nilo lati lo\"typecast", ti a kọ sinu alaye fun ibaramu ikarahun korn. '‘Kede’ ti ni ilọsiwaju siwaju ati pe o ni gbogbo awọn ẹya ara ẹrọ, nitorinaa a ṣe iṣeduro nigba lilo BASH.

  1. Orukọ oniyipada kan gbọdọ ṣalaye, lilo oniyipada ninu iwe afọwọkọ naa.
  2. Lilo orukọ oniyipada kanna jakejado eto naa ni a gba nimọran ni agbara.
  3. Orukọ oniyipada le jẹ oke nla bakanna bi kekere ṣugbọn nipasẹ awọn aṣẹ ikarahun apejọ wa ni kekere ati nitorinaa o yẹ ki a lo orukọ awọn oniyipada ni oke nla, lati yọkuro eyikeyi iporuru. fun apẹẹrẹ, TOTAL_BILLED_AMOUNT, SELL_REPORT, ORDER_RECEIPT, ati bẹbẹ lọ

Oniyipada kan le sọtọ iye kan nipa lilo ami dogba (=). Lati fi okun ṣofo si oniyipada a ko gbọdọ pese eyikeyi iye lẹhin ami dogba.

$ LEVEL =

Ṣayẹwo iye ti o fipamọ sinu oniyipada 'LEVEL' bi.

$ printf "%i" $LEVEL

printf, aṣẹ julọ ti 'C' awọn olutẹpa eto ni o mọ, tẹjade data. % i - Ṣe aṣoju Integer. A le paarọ rẹ pẹlu% c fun Ohun kikọ tabi% c fun okun, bi ati nigba ti o nilo.

$Ipele: Akiyesi awọn '$' eyi ti o ṣiṣẹ bi aropo iye fun oniyipada 'LEVEL'.

$ printf "%i" $LEVEL
0

Fi iye kan si oniyipada naa.

$ LEVEL=0

Ṣayẹwo data ti o fipamọ ni oniyipada.

$ printf "%i" $LEVEL
0

AKIYESI: O jẹ iyanilenu lati ṣe akiyesi pe ninu awọn ọran mejeeji, nigba ti a ko ṣe ipinnu iye si oniyipada ati nigba ti a yan iye '0' si awọn abajade oniyipada 'LEVEL' 0. Biotilẹjẹpe iṣelọpọ naa jẹ kanna ni awọn ọran mejeeji ṣugbọn iwe afọwọkọ kapa mejeeji ikede oniyipada ni oriṣiriṣi.

Fi iye tuntun kan si oniyipada naa.

$ LEVEL=121

Ṣayẹwo data ti o fipamọ ni oniyipada.

$ printf "%i" $LEVEL
121

Sọ ni aṣẹ BASH ati pe o ṣẹda oniyipada nikan nigbati o ba ṣiṣẹ. Oniyipada ti a ṣẹda nitorina wa ni iranti titi iwe afọwọkọ yoo fi duro tabi oniyipada naa yoo parun.

$ unset LEVEL

BASH ni awọn oniyipada 50 ti o ti ṣaju tẹlẹ. Diẹ ninu awọn oniyipada wọnyi ni itumọ pataki ti o so mọ BASH fun apẹẹrẹ, RANDOM oniyipada kan n ṣe nọmba nọmba alailẹgbẹ kan. Ti ko ba ṣeto ati lẹhinna tun ṣalaye lẹẹkansi, iye iyipada atilẹba ti sọnu lailai. Nitorinaa o gba ọ niyanju lati ma lo eyikeyi eto ti a ṣalaye oniyipada.

Eyi ni atokọ ti diẹ ninu awọn oniyipada BASH ti o wulo.

  1. BASH — Orukọ ọna kikun ti Bash.
  2. BASH_ENV — Ninu iwe afọwọkọ ikarahun kan, orukọ faili profaili ti o ṣiṣẹ ṣaaju ki iwe afọwọkọ bẹrẹ.
  3. BASH_VERSION-Ẹya ti Bash (fun apẹẹrẹ, 2.04.0 (1) -a tu silẹ).
  4. COLUMNS - Nọmba awọn ohun kikọ fun laini lori ifihan rẹ (fun apẹẹrẹ, 80).
  5. HOSTNAME — Orukọ kọnputa naa. Labẹ diẹ ninu awọn ẹya ti Linux, eyi le jẹ orukọ ẹrọ. Lori awọn miiran, o le jẹ orukọ ìkápá kan ti o to ni kikun.
  6. HOSTTYPE-Iru kọnputa.
  7. ILE- Orukọ itọsọna ile rẹ.
  8. OSTYPE-Orukọ ti ẹrọ iṣiṣẹ.
  9. PATH — Akojọ ti awọn ọna iṣọtọ ti ileto lati wa aṣẹ lati ṣe.
  10. PPID - ID ilana ti ilana obi ti ikarahun naa.
  11. PROMPT_COMMAND - Pase lati ṣiṣẹ ṣaaju iṣeto ti okun PS1 akọkọ iyara.
  12. PWD — Ilana itọsọna lọwọlọwọ (bi a ti ṣeto nipasẹ aṣẹ cd).
  13. IDAJU —Padaba nọmba alainiduro laarin 0 ati 32767 nigbakugba ti o ba tọka si.
  14. IKU - Ikarahun ti o fẹ lati lo; fun awọn eto ti o bẹrẹ ikarahun kan fun ọ.
  15. TERM - Iru emulation ebute (fun apẹẹrẹ, afaworanhan).

Ofin ti Pinpin Ọrọ.

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

AND

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

Ni awọn ọran mejeeji awọn iṣẹjade wa kanna. Nitorinaa kini iyatọ ninu abajade lakoko lilo sisọ?

Jẹ ki ṣayẹwo kanna pẹlu oriṣiriṣi data iyipada.

$ 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

Lai mẹnuba, iṣẹjade ko tọ. BASH n gba aye lẹhin '0' bi ifopinsi ati nitorinaa a ṣeto iye ti oniyipada bi '0'. Bayi a gbiyanju lati lo agbasọ fun awọn oniyipada bi isalẹ.

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

Sibẹsibẹ abajade ko tọ. BASH mu awọn iye oniyipada ati yọ gbogbo awọn aaye laarin wọn. Nitorinaa printf ko tumọ 0,1,2,3,4,5 bi awọn iye ọtọtọ. Nitorina kini ojutu?

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

Bẹẹni! Fifi aropo Iyipada labẹ awọn agbasọ ni ojutu. Awọn ọrọ sisọ awọn kikọ awọn ẹgbẹ ninu ikarahun ati tumọ awọn kikọ pataki ni ọna ti o ni itumọ.

A le lo awọn agbasọ ọrọ ni ẹhin-si ẹhin o jẹ imọran ti o dara lati ṣafikun awọn aropo iyipada pẹlu awọn agbasọ. Pẹlupẹlu o le ṣee lo lati ya ọrọ lapapọ kuro ninu awọn asọtẹlẹ. Eyi jẹ apẹẹrẹ kan.

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

Yiya sọtọ awọn ege ti ọrọ ti a sọ pẹlu aaye yoo ja si iṣoro kanna bi a ti sọrọ loke. Bash yoo ṣe itọju aaye funfun bi ifopinsi. Ọna miiran ti iyipada iyipada jẹ.

$ LEVEL=5

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

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

Awọn agbasọ ẹyọkan ṣe ihamọ BASH lati titẹ awọn ohun kikọ Pataki.

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

Backslash n ṣiṣẹ bi agbasọ ẹyọkan fun kikọ kan. Njẹ o ti ronu bawo ni iwọ yoo ṣe tẹ (\ ")?

$ printf "%c" "\""

Nigbati% q ṣe akojọpọ pẹlu printf, pese ifasẹyin lẹhin gbogbo ọrọ lati rii daju aye aye.

$ LEVEL=5

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

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

Iyẹn ni gbogbo fun bayi. A nigbagbogbo gbiyanju lati pese awọn onkawe wa pẹlu awọn nkan ti o wulo fun wọn ni gbogbo igba ati lẹhinna. Nkan ti o wa loke ti wa ni pupọ nitorina isinmi ti awọn akọle pẹlu awọn apẹẹrẹ ni yoo ṣe ni nkan ti n bọ eyiti yoo ni ‘Awọn ẹya ti oniyipada’, ‘Iyipada si okeere’ ati bẹbẹ lọ.

Titi lẹhinna Duro ni aifwy ati sopọ si linux-console.net. Maṣe gbagbe lati pese wa pẹlu awọn esi rẹ ti o niyelori ni apakan asọye ni isalẹ.