Guía para principiantes de BASH - Comparar cosas
En la parte anterior del tutorial BASH analizamos las declaraciones condicionales.
Esa guía era muy larga, pero en realidad solo mostraba cómo controlar el flujo de la lógica. Esta guía muestra las diferentes formas en que puede comparar las variables.
La imagen de arriba muestra el primer ejemplo en la guía de esta semana:
#! / bin / bashname1 = "gary"name2 = "bob"si "$ name1" = "$ name2"entonces echo "los nombres coinciden"más echo "los nombres no coinciden"fiEn el script anterior, he definido dos variables llamadas name1 y name2 y les asigné los valores "gary" y "bob". Como las variables están entre comillas, se denominan variables de cadena que se vuelven más relevantes a medida que avanza el tutorial. Todo lo que hace la secuencia de comandos es comparar el valor de $ name1 y $ name2 y si coinciden la salida, la cadena "los nombres coinciden" y si no muestran la cadena "los nombres no coinciden". Las comillas alrededor de las variables $ name1 y $ name2 son importantes porque si el valor de cualquiera de ellas no se ha establecido, la secuencia de comandos aún funcionará. Por ejemplo, si $ nombre1 nunca se configuró, entonces estaría comparando "" con "bob". Sin las comillas, se quedaría con = "bob", que claramente falla. También puede usar la notación! = Para definir que no es igual a lo siguiente: En el ejemplo anterior, la prueba compara las mismas dos cadenas y hace la pregunta ¿viene gary antes que bob en el alfabeto? Claramente la respuesta es no. El script introduce el operador menor que (<). Como el operador menor que también se usa para la redirección, debe escapar con una barra () para que signifique menos, por lo que en el script anterior comparé "$ name1" <"$ name2". Lo contrario de menos que es obviamente mayor que. En lugar de usar <use >. Por ejemplo Si desea probar si una variable tiene un valor, puede usar la siguiente prueba: En el script anterior, he probado si a $ nombre2 se le ha dado un valor y, de no ser así, aparece el mensaje "No hay bob, nunca hubo una bob". En la diapositiva anterior hemos cubierto si una variable se ha establecido o no. A veces, aunque se haya establecido una variable, puede que en realidad no tenga un valor. Por ejemplo: Para probar si una variable tiene un valor o no (es decir, tiene una longitud de cero) use -z de la siguiente manera: En el script anterior, he establecido $ name1 en una cadena de longitud cero y luego lo comparé usando -z. Si $ name1 es cero en longitud, se mostrará el mensaje "Gary se ha ido por la noche". Hasta ahora todas las comparaciones han sido por cuerdas. ¿Qué hay de comparar números? El script anterior muestra un ejemplo de comparación de dos números: Para establecer que una variable sea un número, simplemente establézcala sin comillas. Luego puedes comparar los números con un signo igual. Sin embargo, prefiero usar el siguiente operador para comparar dos números: Si desea comparar si un número es menor que otro, puede usar el operador menor que (<). Al igual que con las cadenas, tiene que escapar del operador menor que con una barra diagonal. ( <). Una mejor manera de comparar números es usar la siguiente notación: Por ejemplo: Finalmente, para esta guía, si desea probar si dos números son diferentes, puede usar los operadores menor que y mayor que juntos (<>) o -ne de la siguiente manera: Si se ha perdido las tres primeras partes de esta guía, puede encontrarlas haciendo clic en los siguientes enlaces: En la siguiente parte de la guía estaré cubriendo aritmética. Guía para principiantes de BASH - Comparando cuerdas
Guía para principiantes de BASH - Comparando cuerdas
Guía para principiantes de BASH - Comparando cuerdas
Guía para principiantes de BASH - Comparación de números
Guía para principiantes de BASH - Comparación de números
Guía para principiantes de BASH - Comparación de números
Guía para principiantes de BASH - Operadores de comparación - Resumen