Fun with Music and Programming by Connor Harris and Stephen Krewson
Sadržaj:
- Operateri za usporedbu
- Provjerite sadrži li niz podstranu
- Provjerite je li niz prazan
- Usporedba struna s operatorom slučaja
- Leksikografska usporedba
- Zaključak
Pri pisanju Bash skripti često ćete morati uspoređivati dvije žice da biste provjerili jesu li jednake ili ne. Dva niza su jednaka ako imaju istu duljinu i sadrže isti niz znakova.
Ovaj vodič opisuje kako usporediti nizove u Bash-u.
Operateri za usporedbu
Operatori za usporedbu su operatori koji uspoređuju vrijednosti i vraćaju vrijednost true ili false. Pri usporedbi nizova u Bashu možete koristiti sljedeće operatore:
-
string1 = string2
istring1 == string2
- Operator jednakosti vraća true ako su operandi jednaki.- Koristite
=
operator stest
; then echo "Strings are equal." else echo "Strings are not equal." fi
; then echo "Strings are equal." else echo "Strings are not equal." fi
Kada se izvrši skripta, ispisat će sljedeći izlaz.
Strings are equal.
Evo još jedne skripte koja uzima unos od korisnika i uspoređuje dane nizove. U ovom ćemo primjeru koristiti
]; then echo "Strings are equal." else echo "Strings are not equal." fi
]; then echo "Strings are equal." else echo "Strings are not equal." fi
Pokrenite skriptu i unesite nizove kada se to od vas zatraži:
Enter first string: Linuxize Enter second string: Ubuntu Strings are not equal.
Također možete koristiti logičke i
&&
i ili||
za usporedbu žice:] && echo "Equal" || echo "Not equal"
Provjerite sadrži li niz podstranu
Postoji više načina za provjeru sadrži li niz podstranu.
Jedan od načina je upotreba okružiti podstranu sa simbolima zvjezdice
*
što znači da se podudaraju sa svim znakovima.#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fi
Skripta odjekuje sljedeće:
It's there.
Druga je mogućnost upotrebe regex operatora
=~
kako je prikazano u nastavku:#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fi
Period koji prati zvjezdicu
.*
Podudara se s nulom ili više pojavljivanja bilo kojeg znaka, osim znaka nove linije.Provjerite je li niz prazan
Vrlo često ćete također morati provjeriti je li varijabla prazan niz ili ne. To možete učiniti pomoću operatora
-n
i-z
.#!/bin/bash VAR='' if]; then echo "String is empty." fi
String is empty.
#!/bin/bash VAR='Linuxize' if]; then echo "String is not empty." fi
Usporedba struna s operatorom slučaja
Umjesto korištenja testnih operatora, možete upotrijebiti i iskaz slučaja za usporedbu nizova:
#!/bin/bash VAR="Arch Linux" case $VAR in "Arch Linux") echo -n "Linuxize matched";; Fedora | CentOS) echo -n "Red Hat";; esac
Leksikografska usporedba
Leksikografska usporedba je radnja u kojoj se abecedno uspoređuju dva niza uspoređujući znakove u nizu uzastopno s lijeva na desno. Ovakva se usporedba rijetko koristi.
Sljedeće skripte leksikografski uspoređuju dva niza:
#!/bin/bash VAR1="Linuxize" VAR2="Ubuntu" if]; then echo "${VAR1} is lexicographically greater then ${VAR2}." elif]; then echo "${VAR2} is lexicographically greater than ${VAR1}." else echo "Strings are equal" fi
Skripta će proizvesti sljedeće:
Ubuntu is lexicographically greater than Linuxize.
Zaključak
Usporedba niza jedna je od najosnovnijih i najčešće korištenih operacija u Bash scenariju. Nakon što ste pročitali ovaj vodič, trebali biste dobro razumjeti kako usporediti nizove u Bash-u. Također možete provjeriti naš vodič o spajanju nizova.
bash terminal
- Koristite
Kako provjeriti postoji li datoteka ili direktorij u bashu

Često se prilikom pisanja skripti Shell nađete u situaciji u kojoj trebate izvesti radnju na osnovu toga postoji li datoteka ili ne. U Bashu možete koristiti testnu naredbu da provjerite postoji li datoteka i odredite vrstu datoteke.
Kako pretvoriti žice u cijele brojeve u python-u

Često prilikom pisanja Python koda trebat ćete pretvarati jednu vrstu podataka u drugu. U Python-u možete pretvoriti niz u cijeli broj pomoću funkcije ugrađivanja int ().
Kako provjeriti sadrži li niz podstranu u bashu

Jedna od najčešćih operacija pri radu s nizovima u Bashu je utvrđivanje sadrži li niz neki drugi niz. U ovom ćemo vam članku pokazati nekoliko načina za provjeru sadrži li niz podstranu.