Begjinne gids nei BASH - fergelykjen fan dingen

01 of 08

Begjinne gids nei BASH - fergelykjen fan dingen

BASH Tutorial - Fergelykjende stringen.

Yn it foarige part fan it BASH-tutorial sjogge wy nei bedoelde útjeften .

Dat gids wie tige lang, mar echt allinnich mar sjen hoe't de stream fan logika kontrolearje. Dit gids lit de ferskillende manieren sjen wêr't jo fariabelen ferlykje kinne.

It boppeste ôfbylding lit it earste foarbyld sjen yn dizze wikeguod:

#! / bin / bash

name1 = "gary"
name2 = "bob"

as [[$ name1] = "$ name2"]
dan
echo "de nammen"
oars
echo "de nammen binne net oerien"
fi


Yn it hjirboppe skript hawwe ik twa fariabelen neamd namme1 en name2 en hawwe se de wearden "gary" en "bob" oanjûn. As de fariabelen binne tusken quotaasjemarks befetsje, wurde se string-fariabels neamd dy't mear relevant wurde as it tutorial giet.

It skript docht it de wearde fan $ name1 en $ name2 te fergelykjen en as se de útfier oerienkomme mei de tekenrige "de nammen oerien" en as se de stam net útjaan, "de nammen binne net oerien".

De quotaasjesmarken om 'e $ name1- en $ name2-fariabelen binne wichtich omdat as de wearde fan ien fan har net ynsteld is sil it skript noch wurkje.

Bygelyks as $ name1 nea set waard, dan soe jo "" mei "bob" fergelykje. Sûnder de petearen wiene jo bliuwend mei = "bob" dy't dúdlik mislearre.

Jo kinne ek de! = Notaasje brûke om net sa lyk te folgjen:

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

02 of 08

Begjinne gids nei BASH - Fergelykjende strings

BASH Tutorial - Fergelykjende stringen.

Yn it boppeneamde foarbyld fergeliket de test dezelfde twa stringen en freget de fraach dy't gary komt foar bob yn it alfabet?

Wis is it antwurd net.

It skript foarmet de minder dan de operator (<). As de minder dan de operateur ek brûkt wurdt foar omlieding, moatte jo it mei in tekenrige (\) ûntjaan, omdat it minder betsjutte as wêrom yn it skript hjirboppe "$ name1" \ <"$ name2" fergelykje ".

It tsjinoerstelde fan minder as is fansels grutter as. Ynstee dêrfan brûke \ .

Bygelyks

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

03 of 08

Begjinne gids nei BASH - Fergelykjende strings

BASH Tutorial - Fergelykjende stringen.

As jo ​​testje wolle oft in fariabele wearde hat, kinne jo de folgjende test brûke:

as [-n $ name2]

Yn it hjirboppe skript haw ik besocht oft $ name2 in wearde jûn is en as it net it berjocht docht "Der is gjin bob, wie der nea in bob ferskynt".

04 of 08

Begjinne gids nei BASH - Fergelykjende strings

BASH Tutorial - Fergelykjende stringen.

Op 'e ôfrûne slide hawwe wy dúdlik oft in fariabele set is of net. Somtiden wierskynlik in fariabele ynsteld wurde, mar it kin net in wearde hawwe.

Bygelyks:

name1 = ""

Om te hifkjen oft in fariant in wearde hat of net (dat hat in lingte fan nul) brûke -z as folget:

as [-z $ name1]

Yn it hjirboppe skript haw ik $ name1 ynsteld oan in nulleadstring en ferwiist it dan mei -z. As $ name1 nul yn ling is it berjocht "gary is útjûn foar de jûn" sil werjûn wurde.

05 of 08

Begjinne gids nei BASH - Fergelykbere nûmers

BASH Tutorial - Fergelykbere nûmers.

Sa binne al de fergeliking foar strings west. Wat oer it fergelykje nûmers?

It boppeste skript lit in foarbyld sjen fan fergeliking twa getallen:

#! / bin / bash

a = 4
b = 5

as [$ a = $ b]
dan
echo "4 = 5"
oars
echo "4 jildt net 5"
fi

Om in fariant te setten wurde in nûmer gewoan ienfâldich sûnder quotaasjemarken set. Jo kinne dan de nûmers mei in lykweardich teken fergelykje.

Ik leaver lykwols lykwols om de folgjende operateur te brûken om twa getallen te fergelykjen:

As [$ a-eq $ b]

06 van 08

Begjinne gids nei BASH - Fergelykbere nûmers

BASH Tutorial - Fergelykbere nûmers.

As jo ​​wolle fergelykje oft in getal minder is as in oar nûmer kinne jo de minder brûke as operator (<). Krekt as by stringen moatte jo de minder útfiere as de operator mei in slash. (\ <).

In bettere manier om ferzjes te fergelykjen is de folgjende notaasje te brûken:

Bygelyks:

as [$ a -lt $ b]

as [$ a -le $ b]

as [$ a -ge $ b]

as [$ a -gt $ b]

07 of 08

Begjinne gids nei BASH - Fergelykbere nûmers

BASH Tutorial - Fergelykbere nûmers.

As lêste foar dit gids, as jo wolle kontrolearje oft twa getallen ferskine kinne jo de minder as en grutter as operators tegearre (<>) of -ne folgje:

as [$ a <> $ b]

as [$ a-ne $ b]

08 of 08

Beginners Guide nei BASH - fergelikingoperators - gearfetting

As jo ​​de earste trije dielen fan dizze gids misse hawwe, kinne jo se fine troch te klikken op de folgjende links:

Yn it kommende diel fan 'e gids sil ik arithmetyk wurde.