Cómo comparar cadenas en Bash

How Compare Strings Bash



Para diferentes propósitos de programación, necesitamos comparar el valor de dos cadenas. Las funciones integradas se utilizan en muchos lenguajes de programación para probar la igualdad de dos cadenas. Puede verificar la igualdad y desigualdad de dos cadenas en bash usando si declaración. == se utiliza para comprobar la igualdad y != se utiliza para comprobar la desigualdad de las cadenas. También puede comparar parcialmente los valores de dos cadenas en bash. Cómo puede comparar los valores de cadena en bash se muestra usando varios ejemplos en este tutorial.

Ejemplo-1: Comparación de cadenas usando operadores ==

No hay una función de comparación incorporada para verificar la igualdad de dos valores de cadena en bash como cualquier otro lenguaje de programación estándar. En el siguiente script, dos variables de cadena, strval1 y strval2 se declaran. La equidad de estas dos variables de cadena se prueba utilizando la primera si declaración del guión. El valor de strval1 se compara con un valor de cadena para comprobar la igualdad en el segundo si declaración.







#! / bin / bash

strval1='Ubuntu'
strval2='Windows'

#Compruebe la igualdad de dos variables de cadena

si [ $ strval1==$ strval2 ];luego
echo 'Las cadenas son iguales'
demás
echo 'Las cadenas no son iguales'
ser

#Comprobar la igualdad de una variable con un valor de cadena

si [ $ strval1=='Ubuntu' ];luego
echo 'Sistema operativo Linux'
demás
echo 'Sistema operativo Windows'
ser

Producción:



La primera comparación no es igual y la segunda comparación es igual.







Ejemplo 2: Comparación de cadenas con el operador! =

La desigualdad de dos variables de cadena se comprueba en el siguiente ejemplo. Aquí dos valores no son iguales. Entonces, si la condición será verdadera y Sistema operativo Windows imprimirá.

#! / bin / bash

strval1='Ubuntu'
strval2='Windows'

#Compruebe la desigualdad de una variable con un valor de cadena

si [ $ strval2 !='Ubuntu' ];luego
echo 'Sistema operativo Windows'
demás
echo 'Sistema operativo Linux'
ser

Producción:



Ejemplo 3: Comparación parcial de cadenas

Puede comparar el valor parcial utilizando un carácter comodín en el script bash. En el siguiente guión, * se utiliza como carácter comodín para coincidencias parciales. La variable de cadena, strval contiene la palabra Internet. Entonces, el primero si del script se volverá verdadero y se imprimirá Coincidir parcialmente . Bash distingue entre mayúsculas y minúsculas. Por esto, el segundo si del script devolverá falso para usar Internet como una cadena parcial que no es igual en comparación con las letras.

#! / bin / bash

strval='Microsoft Internet Explorer'

si [[ $ strval==*Internet* ]];
luego
echo 'Coincidir parcialmente'
demás
echo 'Sin coincidencia'
ser

si [[ $ strval==*internet* ]];
luego
echo 'Coincidir parcialmente'
demás
echo 'Sin coincidencia'
ser

Producción:

Ejemplo 4: comparar la cadena con el valor de entrada del usuario

A veces, necesitamos comparar el valor de cadena tomado por el usuario con un valor de cadena específico para fines de programación. En el siguiente ejemplo, se tomará una cadena de datos del usuario como entrada y se comparará la desigualdad de los datos con un valor fijo. Si la condición es verdadera, se imprimirá. ningún record fue encontrado , de lo contrario se imprimirá Registro encontrado .

#! / bin / bash

echo 'Introduzca su nombre'
leeraporte

si [ $ entrada !='Fahmida' ];
luego
echo 'Ningún record fue encontrado'
demás
echo 'Registro encontrado'
ser

Producción:

El video de esta lección está aquí:

La tarea de comparación de cadenas en bash le resultará más fácil después de completar los ejemplos anteriores con una comprensión clara.