08ko 01. zenbakia
Hastapeneko gidaliburua BASH - Gauzak konparatzea
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
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. \
Adibidez
["$ name1" \> "$ name2"] bada []
08/03
Hastapeneko gidaliburua BASHera - 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
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
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
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:
- Gutxiago -lt
- Gutxiago edo berdina -le
- Greater baino -gt
- Greater than or -ge
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
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.