Kā salīdzināt virknes Bash

How Compare Strings Bash



Dažādiem programmēšanas mērķiem mums jāsalīdzina divu virkņu vērtība. Iebūvētās funkcijas tiek izmantotas daudzās programmēšanas valodās, lai pārbaudītu divu virkņu vienādību. Jūs varat pārbaudīt divu virkņu vienādību un nevienlīdzību bash, izmantojot ja paziņojums, apgalvojums. == tiek izmantots, lai pārbaudītu vienlīdzību un ! = izmanto, lai pārbaudītu virkņu nevienlīdzību. Jūs varat daļēji salīdzināt divu virkņu vērtības arī bash. Kā jūs varat salīdzināt virkņu vērtības bash, tiek parādīts, izmantojot dažādus šīs apmācības piemērus.

1. piemērs: virkņu salīdzinājums, izmantojot == operatorus

Nav iebūvētas salīdzināšanas funkcijas, lai pārbaudītu divu virkņu vērtību vienādību bash, tāpat kā citas standarta programmēšanas valodas. Nākamajā skriptā divi virkņu mainīgie, strval1 un strval2 tiek deklarēti. Šo divu virkņu mainīgo vienlīdzību pārbauda, ​​izmantojot pirmo ja scenārija paziņojums. Vērtība strval1 tiek salīdzināts ar virknes vērtību, lai pārbaudītu vienādību otrajā ja paziņojums, apgalvojums.







#!/bin/bash

strval1='Ubuntu'
strval2='Windows'

#Pārbaudiet vienādības divus virkņu mainīgos

ja [ $ strval1==$ strval2 ];tad
izmest ārā 'Stīgas ir vienādas'
citādi
izmest ārā 'Stīgas nav vienādas'
būt

#Pārbaudiet mainīgā vienādojumu ar virknes vērtību

ja [ $ strval1=='Ubuntu' ];tad
izmest ārā 'Linux operētājsistēma'
citādi
izmest ārā 'Windows operētājsistēma'
būt

Izeja:



Pirmais salīdzinājums nav vienāds, bet otrs - vienāds.







2. piemērs: virkņu salīdzinājums, izmantojot operatoru! =

Divu virkņu mainīgo nevienlīdzība tiek pārbaudīta nākamajā piemērā. Šeit divas vērtības nav vienādas. Tātad, ja nosacījums būs patiess un Windows operētājsistēma izdrukās.

#!/bin/bash

strval1='Ubuntu'
strval2='Windows'

#Pārbaudiet mainīgā nevienādību ar virknes vērtību

ja [ $ strval2 !='Ubuntu' ];tad
izmest ārā 'Windows operētājsistēma'
citādi
izmest ārā 'Linux operētājsistēma'
būt

Izeja:



3. piemērs: daļējs virkņu salīdzinājums

Daļējo vērtību var salīdzināt, izmantojot bash skripta aizstājējzīmes rakstzīmi. Nākamajā skriptā * tiek izmantota kā aizstājējzīmes zīme daļējai atbilstībai. Stīgu mainīgais, strval satur vārdu Internets. Tātad, pirmais ja no skripta tiks atgriezta patiesa un izdrukāta Daļēji atbilst . Bash ir reģistrjutīgs. Šim nolūkam otrais ja no skripta atgriezīs nepatiesu par interneta izmantošanu kā daļēju virkni, kas pēc burtu salīdzinājuma nav vienāda.

#!/bin/bash

strval='Microsoft Internet Explorer'

ja [[ $ strval==*Internets* ]];
tad
izmest ārā “Daļēji atbilst”
citādi
izmest ārā 'Nav sakritības'
būt

ja [[ $ strval==*Internets* ]];
tad
izmest ārā “Daļēji atbilst”
citādi
izmest ārā 'Nav sakritības'
būt

Izeja:

4. piemērs. Salīdziniet virkni ar lietotāja ievadīto vērtību

Dažreiz mums ir jāsalīdzina lietotāja virknes vērtība ar noteiktu virknes vērtību programmēšanas nolūkos. Nākamajā piemērā virknes dati tiks ņemti no lietotāja kā ievade un salīdzināta datu nevienlīdzība ar fiksētu vērtību. Ja nosacījums ir patiess, tas tiks izdrukāts Ieraksts nav atrasts , pretējā gadījumā tas tiks izdrukāts Ieraksts atrasts .

#!/bin/bash

izmest ārā 'Ievadiet savu vārdu'
lasītievadi

ja [ $ ievade !='Fahmida' ];
tad
izmest ārā 'Nav atrasts ieraksts'
citādi
izmest ārā 'Ieraksts atrasts'
būt

Izeja:

Šīs nodarbības video ir šeit:

Stīgu salīdzināšanas uzdevums bash versijā jums būs vieglāks pēc iepriekš minēto piemēru pabeigšanas ar skaidru izpratni.