Cómo comparar cadenas en Bash

Cómo comparar cadenas en Bash

Para diferentes fines de programación, necesitamos comparar el valor de dos cadenas. Las funciones incorporadas se utilizan en muchos lenguajes de programación para probar la igualdad de dos cuerdas. Puede verificar la igualdad y la desigualdad de dos cadenas en Bash usando si declaración. "=="Se usa para verificar la igualdad y"!="Se usa para verificar la desigualdad de las cuerdas. Puede comparar parcialmente los valores de dos cadenas también en Bash. La forma en que puede comparar los valores de cadena en bash se muestra utilizando 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 otro lenguaje de programación estándar. En el siguiente script, dos variables de cadena, strval1 y strval2 son declarados. La equidad de estas dos variables de cadena se prueba utilizando el primero si Declaración del guión. El valor de strval1 se compara con un valor de cadena para verificar la igualdad en el segundo si declaración.

#!/bin/bash
strval1 = "ubuntu"
strval2 = "Windows"
#Check Equality Dos variables de cadena
if [$ strval1 == $ strval2]; entonces
echo "Las cadenas son iguales"
demás
echo "las cadenas no son iguales"
FI
#Chek Igualdad de una variable con un valor de cadena
if [$ strval1 == "ubuntu"]; entonces
Echo "Sistema operativo Linux"
demás
Echo "Sistema operativo de Windows"
FI

Producción:

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

Ejemplo-2: comparación de cadenas usando "!= "Operador

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

#!/bin/bash
strval1 = "ubuntu"
strval2 = "Windows"
#Chek Desigualdad de una variable con un valor de cadena
Si [$ strval2 != "Ubuntu"]; entonces
Echo "Sistema operativo de Windows"
demás
Echo "Sistema operativo Linux"
FI

Producción:

Ejemplo-3: comparación de cadenas parciales

Puede comparar el valor parcial usando el carácter de comodín en el script bash. En el siguiente guión, "*" se usa como personaje de comodín para la coincidencia parcial. La variable de cadena, strval Contiene la palabra "Internet". Entonces, el primero si del script devolverá verdadero e imprima "Parcialmente coincidir". Bash es sensible a los boscos. Para esto, el segundo si del script devolverá False para usar "Internet" como cadena parcial que no es igual a la comparación de letras sabias.

#!/bin/bash
strval = "Microsoft Internet Explorer"
if [[$ strval == * internet *]];
entonces
Echo "Parcialmente coincide"
demás
Echo "No Match"
FI
if [[$ strval == * internet *]];
entonces
Echo "Parcialmente coincide"
demás
Echo "No Match"
FI

Producción:

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

A veces, debemos 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án un datos de cadena del usuario como entrada y compararán 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 "Ingrese su nombre"
Entrada de lectura
Si [$ entrada != "Fahmida"];
entonces
echo "No se encontró registro"
demás
echo "registro encontrado"
FI

Producción:

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

La tarea de comparación de cadenas en Bash será más fácil para usted después de completar los ejemplos anteriores con una comprensión clara.