Hastapeneko gidaliburua BASH - Gauzak konparatzea

08ko 01. zenbakia

Hastapeneko gidaliburua BASH - Gauzak konparatzea

BASH Tutorial - Konparatu kateak.

BASH tutorialaren aurreko atalean baldintzazko adierazpenak aztertu genituen.

Gida oso luzea izan zen, baina benetan bakarrik erakutsi zuen nola logika-fluxua kontrolatzeko. Gida honek aldagaiak alderatzeko modu ezberdinak erakusten ditu.

Goiko irudian aste honetako gida lehen adibidea erakusten da:

#! / bin / bash

name1 = "Gary"
izena2 = "Bob"

["$ name1" = "$ name2"] bada [
gero
echo "izenak datorrenarekin"
bestela
echo "izenak ez datoz bat"
fi


Goiko scriptan izeneko 1 eta izeneko bi aldagai definitu ditut eta "gary" eta "bob" balioak esleitu zaizkie. Aldagaiak komatxo artean ageri diren bezala, kate aldagaiak deitzen zaizkio, eta tutoriala aurrera ateratzen da.

Gidoi guztiak $ name1 eta $ name2-ren balioak alderatzen ditu eta irteera bat dator "kateen izenak" katearekin eta kateak ez badituzte "izenak ez datoz bat".

$ Name1 eta $ name2 aldagai batzuen arteko komatxoak oso garrantzitsuak dira, izan ere, horietako bakoitzaren balioa ez bada ezarri, scriptak oraindik funtzionatzen jarraituko du.

Adibidez, $ name1 ez bada sekula ezarri, "bob "arekin alderatuko zenuke. Komatxorik gabe "=" bob "izango litzateke".

Ere! = Notazioa ere erabil dezakezu honela ez zehazteko:

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

02 de 08

Hastapeneko gidaliburua BASHera - Konparatu kateak

BASH Tutorial - Konparatu kateak.

Goiko adibidean, testak bi kate berak konparatzen ditu eta galdera egiten du alfabetoan Bob aurretik etorri aurretik?

Argi dago erantzuna ez dagoela.

Gidoiak operadorea baino gutxiago (<) aurkezten du. Operadore baino gutxiago ere birbideratze gisa erabiltzeak barra bat ihes egin behar diozu (\), horregatik esan nahi dut "$ name1" \ <"$ name2" gaineko script-ean alderatuta.

Gutxiagoko kontrakoa da, jakina, handiagoa baino. \ erabili beharrean.

Adibidez

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

08/03

Hastapeneko gidaliburua BASHera - Konparatu kateak

BASH Tutorial - Konparatu kateak.

Balio bat balioa duen ala ez probatu nahi baduzu, hurrengo proba erabil dezakezu:

[-n $ name2] baldin badago

Goiko scriptean, $ name2 balioa emanda dagoen ala ez frogatu dut eta "Ez dago Bob ez badauka, inoiz ez da bob agertzen".

04 de 08

Hastapeneko gidaliburua BASHera - Konparatu kateak

BASH Tutorial - Konparatu kateak.

Iraganeko diapositiban aldagai bat ezarri den ala ez zehazten dugu. Batzuetan aldagai bat ezarri izan balitz ere baliteke balioa ez izatea.

Adibidez:

name1 = ""

Aldagai batek balioa duen ala ez egiaztatzeko (hau da, zeroen luzera) erabili ezazu -z honela:

[-z $ name1] bada

Goiko scriptan $ name1 ezarri ditut zero luzera kate batera eta gero konparatu ezazu -z. $ Name1 zero bada, "gary arratsaldean atera" mezua agertuko da.

05 de 08

Hastapen gida: BASH - Zenbakiak alderatzea

BASH Tutorial - Zenbakiak alderatzea.

Orain arte konparazio guztiak kateak izan dira. Zenbakiak alderatuz?

Goiko scriptak bi zenbaki konparatzen dituen adibide bat erakusten du:

#! / bin / bash

a = 4
b = 5

[$ a = $ b] bada
gero
echo "4 = 5"
bestela
echo "4 ez da berdina 5"
fi

Zenbaki bat aldagai bat ezartzeko komatxorik gabe ezarri. Zenbakiak berdinen ikurrarekin konparatu ditzakezu.

Hala ere, nahiago dut operadore hau bi zenbakiak alderatzea:

[$ A -eq $ b] bada

08ko 6tik

Hastapen gida: BASH - Zenbakiak alderatzea

BASH Tutorial - Zenbakiak alderatzea.

Zenbakia beste zenbaki bat baino txikiagoa den ala ez konparatu nahi baduzu, operadorea baino gutxiago erabil dezakezu (<). Kateekin gertatzen den bezala, operadore baino gutxiago ihes egin behar duzu. (\ <).

Zenbakiak alderatzeko modu hobea honako hau erabili behar da:

Adibidez:

[$ a -lt $ b] bada

[$ a -le $ b] bada

[$ a -ge $ b] bada

[$ a -gt $ b] bada

07 de 08

Hastapen gida: BASH - Zenbakiak alderatzea

BASH Tutorial - Zenbakiak alderatzea.

Azkenean, gida hau egiteko, bi zenbaki desberdinak diren ala ez probatu nahi badituzu, operadoreek baino txikiagoak edo handiagoak (<>) edo -ne honako hauek erabil ditzakezu:

[$ a <> $ b] bada

[$ a -ne $ b] bada

08ko 08

Hastapen gida: BASH - Konparazio operadoreak - Laburpena

Gida honen lehen hiru zatiak galdu badituzu, aurkitu ditzakezu ondorengo esteketan klik eginez:

Gidearen hurrengo zatian aritmetika estaltzen dut.