Beginnersgids tot BASH - Dinge vergelyk

01 van 08

Beginnersgids tot BASH - Dinge vergelyk

Bash Tutorial - Vergelyk Strings.

In die vorige gedeelte van die BASH-tutoriaal het ons voorwaardelike stellings gekyk.

Die gids was baie lank, maar regtig net gewys hoe om die vloei van logika te beheer. Hierdie gids toon die verskillende maniere waarop jy veranderlikes kan vergelyk.

Bogenoemde beeld toon die eerste voorbeeld in hierdie week se gids:

#! / bin / bash

NAME1 = "Gary"
NAME2 = "bob"

as ["$ name1" = "$ name2"]
dan
eggo "die name pas"
anders
eggo "die name stem nie ooreen nie"
fi


In die bostaande skrip het ek twee veranderlikes omskryf naam1 en naam2 en aan hulle die waardes "gary" en "bob" toegeken. Aangesien die veranderlikes tussen aanhalingstekens voorkom, word hulle stringveranderlikes genoem wat meer relevant word namate die tutoriaal aangaan.

Al die script doen vergelyk die waarde van $ name1 en $ name2 en as hulle ooreenstem met die uitset word die string "die name ooreenstem" en as hulle nie die string "die name nie ooreenstem nie" uit.

Die aanhalingstekens rondom die $ name1 en $ name2 veranderlikes is belangrik, want as die waarde van een van hulle nie ingestel is nie, sal die script steeds werk.

Byvoorbeeld, as $ name1 nooit gestel is nie, sou jy "" met "bob" vergelyk. Sonder die aanhalingstekens sal jy oorbly met = "bob" wat duidelik misluk.

U kan ook die! = Notasie gebruik om nie soos volg te definieer nie:

as ["$ name1"! = "$ name2"]

02 van 08

Beginnersgids tot BASH - Strings vergelyk

Bash Tutorial - Vergelyk Strings.

In die bostaande voorbeeld vergelyk die toets dieselfde twee snare en vra die vraag dat Gary voor Bob in die alfabet kom?

Dit is duidelik dat die antwoord nee is.

Die skrif stel die minder as operateur (<) voor. Aangesien die minder as operateur ook vir herleiding gebruik word, moet jy dit met 'n slash (\) ontsnap, want dit beteken minder as wat hoekom ek in die skrif hierbo "$ name1" \ <"$ name2" vergelyk het.

Die teenoorgestelde van minder as is natuurlik groter as. In plaas van die gebruik van \ .

Byvoorbeeld

as ["$ name1" \> "$ name2"]

03 van 08

Beginnersgids tot BASH - Strings vergelyk

Bash Tutorial - Vergelyk Strings.

As jy wil toets of 'n veranderlike 'n waarde het, kan jy die volgende toets gebruik:

as [-n $ name2]

In die skrif hierbo het ek getoets of $ name2 'n waarde gegee is en as dit nie die boodskap "Daar is geen bob nie, was daar nooit 'n bob nie".

04 van 08

Beginnersgids tot BASH - Strings vergelyk

Bash Tutorial - Vergelyk Strings.

Op die vorige skyf het ons gedek of 'n veranderlike gestel is of nie. Soms is 'n veranderlike dalk ingestel, maar dit mag dalk nie eintlik 'n waarde hê nie.

Byvoorbeeld:

naam1 = ""

Om te toets of 'n veranderlike 'n waarde het of nie (dws 'n lengte van nul het) gebruik -z soos volg:

as [-z $ name1]

In die bostaande skrip het ek $ name1 tot 'n nul-lengte-string gestel en dan vergelyk dit met -z. As $ name1 nul is, sal die boodskap "gary uitgegaan het vir die aand" vertoon word.

05 van 08

Beginnersgids tot BASH - Vergelyking van Getalle

BASH Tutorial - Vergelyk Getalle.

Tot dusver was al die vergelykings vir snare. Hoe gaan dit met die vergelyking van getalle?

Bogenoemde skrip toon 'n voorbeeld van vergelyking van twee getalle:

#! / bin / bash

a = 4
b = 5

as [$ a = $ b]
dan
eggo "4 = 5"
anders
echo "4 is nie gelyk aan 5"
fi

Om 'n veranderlike as 'n nommer te stel, stel dit eenvoudig sonder aanhalingstekens. U kan dan die getalle vergelyk met 'n gelyke teken.

Ek verkies egter om die volgende operateur te gebruik om twee getalle te vergelyk:

As [$ a -qq $ b]

06 van 08

Beginnersgids tot BASH - Vergelyking van Getalle

BASH Tutorial - Vergelyk Getalle.

As jy wil vergelyk of 'n getal minder is as 'n ander nommer, kan jy die minder as operateur (<) gebruik. Soos met snare moet jy die minder as operateur met 'n skuinsvlug ontsnap. (\ <).

'N Beter manier om getalle te vergelyk, is om die volgende notasie te gebruik:

Byvoorbeeld:

as [$ a -lt $ b]

as [$ a -le $ b]

as [$ a -ge $ b]

as [$ a -gt $ b]

07 van 08

Beginnersgids tot BASH - Vergelyking van Getalle

BASH Tutorial - Vergelyk Getalle.

Ten slotte vir hierdie gids, as jy wil toets of twee getalle anders is, kan jy die minder as en groter as die operateurs (<>) of -ne soos volg gebruik:

as [$ a <> $ b]

as [$ a -ne $ b]

08 van 08

Beginnersgids tot BASH - Vergelyking Operateurs - Opsomming

As u die eerste drie dele van hierdie gids gemis het, kan u dit vind deur op die volgende skakels te kliek:

In die volgende gedeelte van die gids sal ek rekenkunde dek.