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 / bashstrval1='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 / bashstrval='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 / bashecho '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.