Pradedančiųjų vadovas BASH - dalykų palyginimas

Ankstesniame BASH pamokos skyriuje mes nagrinėjome sąlyginius teiginius.
Šis vadovas buvo labai ilgas, bet tik parodė, kaip valdyti logikos srautą. Šiame vadove pateikiami skirtingi kintamųjų palyginimo būdai.
Pirmiau pateiktas vaizdas rodo pirmąjį šios savaitės vadovo pavyzdį:
#! / bin / bashname1 = "gary"name2 = "bob"jei "$ name1" = "$ name2"tada echo "vardai atitinka"Kitas echo "pavadinimai nesutampa"fiŠiame scenarijuje aš apibrėžiau du kintamuosius, pavadintus name1 ir name2, ir priskyriau jiems reikšmes "gary" ir "bob". Kadangi kintamieji yra tarp kabučių, jie vadinami styginių kintamaisiais, kurie tampa labiau aktualūs, kaip pamoka. Visame scenarijuje yra palyginti $ name1 ir $ name2 reikšmę ir, jei jie atitinka išvestį, eilutė "vardų atitiktis" ir jei jie neišduoda eilutės "pavadinimai neatitinka". Kainos apie $ name1 ir $ name2 kintamuosius yra svarbios, nes jei jų vertė nenustatyta, scenarijus vis tiek veiks. Pavyzdžiui, jei $ name1 niekada nebuvo nustatytas, tu "" palyginsi su "bob". Be kabučių jums liktų = "bob", kuris aiškiai nepasiseka. Taip pat galite naudoti! = Nota apibrėžti ne tokią reikšmę: Pirmiau pateiktame pavyzdyje bandymas lygina tas pačias dvi eilutes ir prašo, kad klausimas prieštarauja abėcėlėje? Akivaizdu, kad atsakymas yra ne. Skriptas įveda mažiau nei operatorius (<). Kadangi mažiau nei operatorius taip pat naudojamas peradresavimui, turite jį išvengti su brūkšniu brūkšniu (), nes tai reiškia mažiau, todėl aukščiau esančiame scenarijuje palyginome "$ name1" <"$ name2". Skirtumas nuo mažesnio nei akivaizdžiai didesnis nei. Užuot naudoję <use >. Pavyzdžiui Jei norite patikrinti, ar kintamasis turi vertę, galite naudoti šį testą: Aukščiau esančiame scenarijuje aš išbandžiau, ar $ name2 buvo suteikta vertė, ir jei nėra pranešimo "nėra jokio bobo, niekada nebuvo rodomo bob". Anksčiau esančiame skaidrene apžvelgėme, ar kintamasis buvo nustatytas, ar ne. Kartais nors kintamasis galėjo būti nustatytas, tačiau jis gali neturėti vertės. Pavyzdžiui: Jei norite patikrinti, ar kintamasis turi reikšmę, ar ne (t. Y. Yra nulio ilgio), naudokite -z taip: Pirmiau esančiame scenarijuje nustatiau $ name1 prie nulinės ilgio eilutės ir palygino jį su -z. Jei $ name1 yra nulis, bus rodoma žinutė "gary išėjo vakarui". Iki šiol visi palyginimai buvo skirti styginiams. Kaip lyginti numerius? Šis scenarijus rodo dviejų skaičių palyginimo pavyzdį: Norėdami nustatyti kintamąjį skaičių, tiesiog jį nustatykite be kabučių. Tuomet tu gali palyginti skaičius su lygiaverčiu ženklu. Tačiau norėčiau palyginti du numerius naudodamasis tokiu operatoriumi: Jei norite palyginti, ar numeris yra mažesnis už kitą numerį, galite naudoti mažiau nei operatorius (<). Kaip ir su stygomis, turite pabėgti mažiau nei operatorius su brūkšniu. ( <). Geresnis numerių lyginimo būdas yra naudoti šį įrašą: Pavyzdžiui: Galiausiai, jei norėsite išbandyti, ar du skaitmenys yra skirtingi, šį vadovą galite naudoti kartu (<>) arba -ne kaip operatorius mažesnis arba didesnis: Jei praleidote pirmąsias tris šio vadovo dalis, jas galite rasti spustelėję šiuos saitus: Kitoje gidų dalyje aš tapsiu aritmetika. Pradedančiųjų vadovas BASH - lyginant strings

Pradedančiųjų vadovas BASH - lyginant strings

Pradedančiųjų vadovas BASH - lyginant strings

Pradedančiųjų vadovas BASH - lyginant numerius

Pradedančiųjų vadovas BASH - lyginant numerius

Pradedančiųjų vadovas BASH - lyginant numerius

Pradedančiųjų vadovas BASH palyginimo operatoriams - santrauka













