Skip to main content

Začetni vodič za BASH - primerjava stvari

Anonim
01 od 08

Začetni vodič za BASH - primerjava stvari

V prejšnjem delu BASH tutorial smo pregledali pogojne izjave.

Ta vodnik je bil zelo dolg, vendar je res samo pokazal, kako nadzirati pretok logike. Ta priročnik prikazuje različne načine, na katere lahko primerjate spremenljivke.

Zgornja slika prikazuje prvi primer v tem tedenskem priročniku:

#! / bin / bashime1 = "gary"name2 = "bob"če je "$ name1" = "$ name2"potem echo "imena se ujemajo"drugače echo "imena se ne ujemajo"fi

V zgornjem scenariju sem definiral dve spremenljivki, imenovani name1 in name2, in jim dodelili vrednosti "gary" in "bob". Ker so spremenljivke vsebovane med narekovaji, jih imenujemo niz spremenljivk, ki postanejo bolj relevantne, ko se vadnica nadaljuje.

Vsa skripta ne primerja vrednosti $ name1 in $ name2 in če se ujemata z izpisom niza "imena se ujemata" in če ne oddajajo niza, se "imena ne ujemajo".

Navodila okrog spremenljivk $ name1 in $ name2 so pomembna, ker če vrednost ene izmed njih ni nastavljena, potem skript še vedno deluje.

Na primer, če $ name1 nikoli ni bil nastavljen, bi se primerjali z »bob«. Brez narekovajev vam ostane = "bob", ki očitno ne uspe.

Uporabite lahko tudi oznako! =, Da določite, da ni enako, kot sledi:

če je "$ name1"! = "$ name2" 02 od 08

Začetni vodič za BASH - primerjava strun

V zgornjem primeru test primerja isti dve vrsti in sprašuje, ali vprašanje gary pride pred bob v abecedi?

Jasno je, da je odgovor ne.

Skript uvaja manj kot operater (<). Ker se za preusmeritev uporablja tudi manj kot operater, ga morate izogniti s poševnico (), da bi to pomenilo manj kot zato, ker sem v zgornjem scenariju primerjal "$ name1" <"$ name2".

Nasprotno manj kot je očitno več kot. Namesto uporabe <uporaba >.

Na primer

če je "$ name1" > "$ name2" 03 od 08

Začetni vodič za BASH - primerjava strun

Če želite preizkusiti, ali ima spremenljivka vrednost, lahko uporabite naslednji test:

če je -n $ name2

V zgornjem skriptu sem preizkusil, ali je $ name2 dobil vrednost, in če ne vsebuje sporočila »Ni bob, nikoli ni bilo nobenega boba«.

04 od 08

Začetni vodič za BASH - primerjava strun

Na preteklih prosojnicah smo preverili, ali je spremenljivka nastavljena ali ne. Včasih je bila morda spremenljiva spremenljivka, ki pa morda nima vrednosti.

Na primer:

name1 = ""

Če želite preizkusiti, ali ima spremenljivka vrednost ali ne (to pomeni, da ima dolžino nič), uporabite -z na naslednji način:

če je -z $ name1

V zgornjem skriptu sem določil $ name1 nizu ničelne dolžine in ga nato primerjal z uporabo -z. Če je $ name1 ničelna, se prikaže sporočilo »Gary je odšlo na večer«.

05 od 08

Začetni vodnik BASH - primerjava številk

Do zdaj so bile vse primerjave za vrvice. Kaj pa primerjati številke?

Zgornji scenarij prikazuje primer primerjanja dveh številk:

#! / bin / basha = 4b = 5če je $ a = $ bpotem echo "4 = 5"drugače echo "4 ni enak 5"fi

Če želite spremeniti številko, jo preprosto nastavite brez narekovajev. Nato lahko primerjate številke z enakim znanjem.

Vendar pa raje uporabljam naslednjega operaterja za primerjavo dveh številk:

Če je $ a -eq $ b 06 od 08

Začetni vodnik BASH - primerjava številk

Če želite primerjati, ali je število manj kot druga številka, lahko uporabite manj kot operater (<). Tako kot z nizi morate izogniti manj kot operaterja s poševnico. ( <).

Bolje primerjati številke je namesto tega uporabiti naslednjo notacijo:

  • Manj kot -lt
  • Manj ali enako -le
  • Večja od -gt
  • Večja ali enaka -ge

Na primer:

če je $ a -lt $ bče je $ a -le $ bče je $ a -ge $ bče je $ a -gt $ b 07 od 08

Začetni vodnik BASH - primerjava številk

Končno za ta vodnik, če želite preizkusiti, ali sta dve številki različni, lahko uporabite manj kot in več kot operaterji skupaj (<>) ali -ne na naslednji način:

če je $ a <> $ bče je $ a -ne $ b 08 od 08

Vodnik za začetnike BASH - Primerjava operaterjev - povzetek

Če ste zamudili prve tri dele tega vodnika, jih lahko poiščete s klikom na naslednje povezave:

  • Pozdravljen, svet
  • Vhodni parametri
  • Pogoji in spremenljivke

V naslednjem delu vodnika bom pokrival aritmetiko.