Na rôzne účely programovania musíme porovnať hodnotu dvoch reťazcov. Vstavané funkcie sa používajú v mnohých programovacích jazykoch na testovanie rovnosti dvoch reťazcov. Rovnosť a nerovnosť dvoch reťazcov v bash môžete skontrolovať pomocou keby vyhlásenie. == slúži na kontrolu rovnosti a ! = slúži na kontrolu nerovnosti reťazcov. Hodnoty dvoch reťazcov môžete čiastočne porovnať aj v bash. Ako môžete porovnať hodnoty reťazcov v bash, je ukázané na rôznych príkladoch v tomto návode.
Príklad-1: Porovnanie reťazcov pomocou operátorov ==
Neexistuje žiadna vstavaná porovnávacia funkcia na kontrolu rovnosti dvoch reťazcových hodnôt v bashe ako v inom štandardnom programovacom jazyku. V nasledujúcom skripte dve premenné reťazca, strval1 a strval2 sú vyhlásené. Rovnosť týchto dvoch reťazcových premenných sa testuje pomocou prvej keby vyjadrenie scenára. Hodnota strval1 je porovnaný s hodnotou reťazca na kontrolu rovnosti v druhom keby vyhlásenie.
#!/bin/bash
strval1=„Ubuntu“
strval2=„Windows“
#Skontrolujte rovnosť dvoch reťazcových premenných
keby [ $ strval1==$ strval2 ];potom
zahodil „Reťazce sú si rovné“
inak
zahodil „Reťazce nie sú rovnaké“
byť
#Skontrolujte rovnosť premennej s hodnotou reťazca
keby [ $ strval1==„Ubuntu“ ];potom
zahodil „Operačný systém Linux“
inak
zahodil „Operačný systém Windows“
byť
Výkon:
Prvé porovnanie nie je rovnaké a druhé porovnanie je rovnaké.
Príklad 2: Porovnanie reťazcov pomocou operátora! =
Nerovnosť dvoch reťazcových premenných je skontrolovaná v nasledujúcom príklade. Tu dve hodnoty nie sú rovnaké. Ak teda podmienka bude pravdivá a Operačný systém Windows vytlačí.
#!/bin/bashstrval1=„Ubuntu“
strval2=„Windows“
#Skontrolujte nerovnosť premennej pomocou hodnoty reťazca
keby [ $ strval2 !=„Ubuntu“ ];potom
zahodil „Operačný systém Windows“
inak
zahodil „Operačný systém Linux“
byť
Výkon:
Príklad 3: Porovnanie čiastočných reťazcov
Čiastočnú hodnotu môžete porovnať pomocou zástupného znaku v skriptu bash. V nasledujúcom skripte, * sa používa ako zástupný znak pre čiastočné párovanie. Reťazcová premenná, strval obsahuje slovo Internet. Takže prvý keby skriptu vráti hodnotu true a vytlačí sa Čiastočne zápas . Bash rozlišuje veľké a malé písmená. Za toto, druhé keby skriptu vráti hodnotu false pre použitie internetu ako čiastočného reťazca, ktorý sa nerovná porovnaniu písmen.
#!/bin/bashstrval=„Microsoft Internet Explorer“
keby [[ $ strval==*Internet* ]];
potom
zahodil „Čiastočne zhodný“
inak
zahodil 'Žiadna zhoda'
byť
keby [[ $ strval==*Internet* ]];
potom
zahodil „Čiastočne zhodný“
inak
zahodil 'Žiadna zhoda'
byť
Výkon:
Príklad 4: Porovnajte reťazec s hodnotou zadanou používateľom
Niekedy musíme na účely programovania porovnať hodnotu reťazca prijatú používateľom s konkrétnou hodnotou reťazca. V nasledujúcom príklade budú reťazcové údaje prevzaté od používateľa ako vstup a porovnané nerovnosti údajov s pevnou hodnotou. Ak je podmienka pravdivá, vytlačí sa Nebol nájdený žiadny záznam , inak sa vytlačí Našiel sa záznam .
#!/bin/bashzahodil 'Zadajte svoje meno'
čítaťvstup
keby [ $ vstup !=„Fahmida“ ];
potom
zahodil 'Nebol nájdený žiadny záznam'
inak
zahodil „Záznam nájdený“
byť
Výkon:
Video z tejto lekcie nájdete tu:
Po dokončení vyššie uvedených príkladov s jasným porozumením vám bude jednoduchšie porovnať úlohy v bash.