Skip to main content

BASHin aloittelijan opas - asiat vertailussa

Java Tutorial For Beginners 1 - Introduction and Installing the java (JDK) Step by Step Tutorial (Saattaa 2025)

Java Tutorial For Beginners 1 - Introduction and Installing the java (JDK) Step by Step Tutorial (Saattaa 2025)
Anonim
01/08

BASHin aloittelijan opas - asiat vertailussa

BASH-opetusohjelman edellisessä osassa tarkasteltiin ehdollisia lausumia.

Tämä opas oli hyvin pitkä, mutta oikeasti vain osoitti kuinka hallita logiikan virtausta. Tässä oppaassa kuvataan eri tavat, joilla voit verrata muuttujia.

Yllä oleva kuva näyttää tämän esimerkin ensimmäisen esimerkin:

#! / Bin / bashnimi1 = "Gary"name2 = "bob"jos "$ name1" = "$ name2"sitten echo "nimien ottelu"muu echo "nimet eivät täsmää"fi

Edellä olevassa käsikirjoituksessa olen määritellyt kaksi muuttujaa nimeltään name1 ja name2 ja niille osoitetut arvot "gary" ja "bob". Koska muuttujat sisältyvät lainausmerkkien väliin, niitä kutsutaan merkkijonomuuttujiksi, jotka tulevat merkityksellisemmiksi, kun tutoriaali jatkuu.

Kaikki käsikirjoitus on vertailla arvoa $ name1 ja $ name2 ja jos ne vastaavat lähtöä merkkijono "nimiä ottelu" ja jos he eivät anna merkkijonon "nimitykset eivät täsmää".

Muuttujien $ name1 ja $ name2 ympärillä olevat lainausmerkit ovat tärkeitä, koska jos jommankumman arvon arvoa ei ole määritetty, komentosarja toimii edelleen.

Esimerkiksi jos $ name1 ei koskaan asetettu, vertaisit "" bob: n "" kanssa. Ilman lainausmerkkejä sinulla olisi jäljellä = "bob", joka selvästi epäonnistuu.

Voit myös käyttää! = Merkintää määrittelemättä ole yhtä kuin seuraavalla tavalla:

jos "$ name1"! = "$ name2" 02/08

BASHin aloittelijan opas - vertaamalla kielekkeitä

Yllä olevassa esimerkissä testi vertailee samoja kahta merkkijonoa ja kysyy, onko kysymys ennen bobia aakkosissa?

Selvästi vastaus on ei.

Skripti esittelee pienemmän operaattorin (<). Koska vähemmän kuin operaattoria käytetään myös uudelleenohjaukseen, sinun on poistettava se pisteellä (), jotta se merkitsisi vähemmän kuin minkä vuoksi edellä olevaan komentosarjaan verrattuna "$ name1" <"$ name2".

Päinvastainen vähemmän kuin selvästi suurempi kuin. Sen sijaan, että käytit <käytä >.

Esimerkiksi

jos "$ name1" "" $ name2 " 03/08

BASHin aloittelijan opas - vertaamalla kielekkeitä

Jos haluat testata, onko muuttujalla arvoa, voit käyttää seuraavaa testiä:

jos -n $ nimi2

Yllä olevasta käsikirjasta olen testannut onko $ name2 annettu arvo ja jos se ei ole viesti "Ei ole bob, ei ole koskaan näkynyt bobia".

04/08

BASHin aloittelijan opas - vertaamalla kielekkeitä

Aikaisemmasta diasta kerroimme, onko muuttuja asetettu vai ei. Joskus vaikka muuttuja on ehkä asetettu, mutta sillä ei välttämättä ole arvoa.

Esimerkiksi:

name1 = ""

Voit testata, onko muuttujalla arvo vai ei (eli sen pituus on nolla) käyttää -z seuraavalla tavalla:

jos -z $ nimi1

Edellä olevassa käsikirjoituksessa olen asettanut $ name1 nollapituuden merkkijonoon ja sitten verrataan sitä käyttäen -z. Jos $ name1 on nolla pituus, viesti "gary on lähtenyt illaksi" tulee näkyviin.

05/08

BASH: n aloittelijan opas - Numeron vertailu

Tähän mennessä kaikki vertailu on ollut merkkijonoille. Entä numeroiden vertailu?

Edellä oleva käsikirjoitus näyttää esimerkin kahden numeron vertailusta:

#! / Bin / basha = 4b = 5jos $ a = $ bsitten echo "4 = 5"muu kaiku "4 ei ole sama kuin 5"fi

Jos haluat asettaa muuttujan numeroon, aseta se ilman lainausmerkkejä. Voit sitten verrata numerot tasa-arvoiseen merkkiin.

Haluan kuitenkin käyttää seuraavia operaattoreita vertailemaan kahta numeroa:

Jos $ a -eq $ b 06/08

BASH: n aloittelijan opas - Numeron vertailu

Jos haluat vertailla, onko numero pienempi kuin toinen numero, voit käyttää vähemmän operaattoria (<). Kuten jousien kanssa, sinun on poistuttava vähemmän kuin operaattori, jossa on viiste. ( <).

Parempi tapa vertailla numeroita on käyttää seuraavia merkintöjä:

  • Vähemmän kuin -lt
  • Pienempi tai yhtä suuri kuin -le
  • Suurempi kuin -gt
  • Suurempi tai yhtä suuri kuin -ge

Esimerkiksi:

jos $ a -lt $ bjos $ a -le $ bjos $ a -ge $ bjos $ a -gt $ b 07/08

BASH: n aloittelijan opas - Numeron vertailu

Jos haluat testata, onko kaksi numeroa erilainen, voit käyttää joko yhtä tai useampia operaattoreita yhdessä (<>) tai -nä seuraavalla tavalla:

jos $ a <> $ bjos $ a -ne $ b 08/08

Aloittelijan opas BASH: lle - vertailuoperaattorit - yhteenveto

Jos olet unohtanut tämän oppaan ensimmäiset kolme osaa, voit etsiä niitä klikkaamalla seuraavia linkkejä:

  • Hei maailma
  • Syöttöparametrit
  • Edellytykset ja muuttujat

Seuraavan osan oppaasta aion kattaa aritmeettinen.