Com es comparen les cadenes de Bash

How Compare Strings Bash



Per a diferents propòsits de programació, hem de comparar el valor de dues cadenes. Les funcions integrades s’utilitzen en molts llenguatges de programació per provar la igualtat de dues cadenes. Podeu comprovar la igualtat i la desigualtat de dues cadenes en bash utilitzant si declaració. == s'utilitza per comprovar la igualtat i ! = s’utilitza per comprovar la desigualtat de les cadenes. Podeu comparar parcialment els valors de dues cadenes també a bash. Com es poden comparar els valors de cadena a bash, es mostra mitjançant diversos exemples d’aquest tutorial.

Exemple-1: Comparació de cadenes mitjançant operadors ==

No hi ha cap funció de comparació integrada per comprovar la igualtat de dos valors de cadena en bash com un altre llenguatge de programació estàndard. Al següent script, dues variables de cadena, strval1 i strval2 es declaren. L'equitat d'aquestes dues variables de cadena es prova amb la primera si declaració del guió. El valor de strval1 es compara amb un valor de cadena per comprovar la igualtat en el segon si declaració.







#! / bin / bash

strval1='Ubuntu'
strval2='Windows'

#Comproveu la igualtat de dues variables de cadena

si [ $ strval1==$ strval2 ];llavors
trobo 'Les cordes són iguals'
en cas contrari
trobo 'Les cadenes no són iguals'
ser

#Comproveu la igualtat d'una variable amb un valor de cadena

si [ $ strval1=='Ubuntu' ];llavors
trobo 'Sistema operatiu Linux'
en cas contrari
trobo 'Sistema operatiu Windows'
ser

Sortida:



La primera comparació no és igual i la segona comparació és igual.







Exemple-2: Comparació de cadenes amb l'operador! =

La desigualtat de dues variables de cadena es comprova a l'exemple següent. Aquí dos valors no són iguals. Per tant, si la condició serà certa i Sistema operatiu Windows imprimirà.

#! / bin / bash

strval1='Ubuntu'
strval2='Windows'

#Comproveu la desigualtat d'una variable amb un valor de cadena

si [ $ strval2 !='Ubuntu' ];llavors
trobo 'Sistema operatiu Windows'
en cas contrari
trobo 'Sistema operatiu Linux'
ser

Sortida:



Exemple-3: comparació de cadenes parcials

Podeu comparar el valor parcial mitjançant el caràcter comodí en un script bash. Al següent script, * s'utilitza com a caràcter comodí per fer coincidències parcials. La variable de cadena, strval conté la paraula Internet. Per tant, el primer si de l'script es tornarà cert i s'imprimirà Parcialment coincident . Bash distingeix entre majúscules i minúscules. Per a això, el segon si de l'script retornarà fals per utilitzar Internet com a cadena parcial que no és igual si es compara amb lletres.

#! / bin / bash

strval='Microsoft Internet Explorer'

si [[ $ strval==*Internet* ]];
llavors
trobo 'Coincidència parcial'
en cas contrari
trobo 'Sense coincidència'
ser

si [[ $ strval==*internet* ]];
llavors
trobo 'Coincidència parcial'
en cas contrari
trobo 'Sense coincidència'
ser

Sortida:

Exemple-4: compareu la cadena amb el valor d'entrada de l'usuari

De vegades, hem de comparar el valor de cadena que ha pres l’usuari amb un valor de cadena específic per a la programació. A l'exemple següent, es prendrà una cadena de dades de l'usuari com a entrada i es compararà la desigualtat de les dades amb un valor fix. Si la condició és certa, s'imprimirà No s'ha trobat cap registre , en cas contrari s’imprimirà Registre trobat .

#! / bin / bash

trobo 'Introdueixi el seu nom'
llegirentrada

si [ $ entrada !='Fahmida' ];
llavors
trobo 'No s'ha trobat cap registre'
en cas contrari
trobo 'Registre trobat'
ser

Sortida:

El vídeo d'aquesta lliçó és aquí:

La tasca de comparació de cadenes a bash us serà més fàcil després de completar els exemples anteriors amb una comprensió clara.