Los ejemplos específicos que se muestran en este artículo incluyen:
Sintaxis general de Bash si es más
A continuación se muestra la sintaxis general de SI Género y DEMÁS En Bash:
Si condición a prueba; entonces
Código a Ejecutivo-1
Elifa próxima condición a la prueba; entonces
Código a ejecución-2
Elifa próxima condición a la prueba; entonces
Código a ejecución-2
demás
Código a ejecución-2
FI
Nota: En la sintaxis general anterior, puede incluir cero, uno o múltiples Género condiciones en el bloque de código y el DEMÁS La condición es opcional.
La construcción de las condiciones reales tiene muchas opciones porque la sintaxis de la bash tiene muchas características y opciones diferentes, pero una plantilla muy básica para sus scripts bash sería usar el [[ Sintaxis de doble pareja como se muestra en el ejemplo de sintaxis general y ejemplos específicos a continuación.
if [[condición a prueba]]; entonces
Código a Ejecutivo-1
Elif [[próxima condición a la prueba]]; entonces
Código a ejecución-2
Elif [[próxima condición a la prueba]]; entonces
Código a ejecución-2
demás
Código a ejecución-2
FI
Nota también: que dependiendo de su código de formato estético, puede que le guste la misma línea de las condiciones o puede optar por ponerlo en la siguiente línea como se muestra a continuación:
if [[condición a prueba]]]
entonces
Código a Ejecutivo-1
Elif [[próxima condición a la prueba]]
entonces
Código a ejecución-2
Elif [[próxima condición a la prueba]]
entonces
Código a ejecución-2
demás
Código a ejecución-2
FI
Ahora mostremos ejemplos específicos de las variaciones básicas del SI Género y DEMÁS Condiciones en los ejemplos de trabajo a continuación.
Ejemplo 1: IF Declaración en Bash en la igualdad de cadenas
#!/bin/bash
Leer -P "Ingrese una palabra de coincidencia:" User_input
if [[$ user_input == "Hello"]]; entonces
Echo "Hola a ti también"
FI
En este ejemplo anterior usamos el básico SI condición con una sola prueba de igualdad de cadenas y luego imprima alguna salida en caso de que la condición sea verdadera en función de la entrada del usuario. Tenga en cuenta que puede colocar el ENTONCES declaración en la siguiente línea si prefiere ese estilo. Vea la salida de ejemplo a continuación:
linuxhint@: ~ $ bash t1.mierda
Ingrese una palabra de partido: hola
Hola a ti también
linuxhint@: ~ $ bash t1.mierda
Ingrese una palabra de partido: adiós
linuxhint@: ~ $
Ejemplo 2: IF Declaración en Bash sobre el número de igualdad
#!/bin/bash
Leer -P "Ingrese un número:" User_input
if [[$ user_input -eq 7]]; entonces
Echo "7 es un número de suerte"
FI
En este ejemplo anterior, nuevamente hacemos un simple SI condición, pero en este caso demostramos cómo hacer una comparación de pruebas en valores numéricos. Puede ver la salida a continuación con las condiciones coincidentes y no coincidentes:
linuxhint@: ~ $ bash t2.mierda
Ingrese un número: 7
7 es un número de suerte
linuxhint@: ~ $ bash t2.mierda
Ingrese un número: 8
linuxhint@: ~ $
Ejemplo 3: Declaración IF en BASH en menos de un número
Además de -ecualización Para la igualdad también puedes probar -LT -LE -GT -GE condiciones de prueba por menos de, menos o igual, mayor o mayor que o igual respectivamente. A continuación se muestra un ejemplo similar con menos que operador -teniente:
#!/bin/bash
Leer -P "Ingrese un número:" User_input
if [[$ user_input -lt 100]]; entonces
Echo "Su entrada es menos de cien"
FI
La salida para este script podrá probar si la entrada es inferior a 100 y ejecuta código específico en esa condición:
linuxhint@: ~ $ bash t3.mierda
Ingrese un número: 99
Tu entrada es menos de cien
linuxhint@: ~ $ bash t3.mierda
Ingrese un número: 101
linuxhint@: ~ $
Ejemplo 4: IF Declaración en Bash con lógico y operador
Este ejemplo mostrará cómo combinar múltiples condiciones con una lógica Y condición. También puedes usar lógico O condiciones en tu SI Construcción de la declaración. Lógico Y En Bash, el código está escrito con dos ampers y &&. A continuación se muestra un ejemplo de lógico Y en una fiesta SI condición:
#!/bin/bash
Leer -P "Ingrese un número:" User_input
if [[$ user_input -gt 9 && $ user_input -lt 100]]; entonces
Echo "Su entrada son dos dígitos"
FI
Probaremos esto con varias salidas para demostrar que solo si la primera y la segunda condición son verdaderas, la salida se imprimirá:
linuxhint@: ~ $ bash t4.mierda
Ingrese un número: 22
Tu entrada es dos dígitos
linuxhint@: ~ $ bash t4.mierda
Ingrese un número: 8
linuxhint@: ~ $ bash t4.mierda
Ingrese un número: 100
linuxhint@: ~ $ bash t4.mierda
Ingrese un número: 99
Tu entrada es dos dígitos
Ejemplo 5: IF Declaración en Bash con lógico u operador
Lógico O In Bash Scripts está escrito con barras verticales dobles ||. Probemos el ejemplo anterior nuevamente con una ligera variación para probar un ejemplo del operador lógico o del operador:
#!/bin/bash
Leer -P "Ingrese un número:" User_input
if [[$ user_input -lt 10 || $ User_input -ge 100]]; entonces
Echo "Su entrada no es dos dígitos"
FI
En este ejemplo el lógico O El operador combina dos condiciones y solo una de ellas o ambas pueden ser verdaderas para que la condición sea en general verdadera y el código se ejecuta. También demostramos el -ge operador para una comparación numérica mayor o igual en el ejemplo anterior. El script funciona como se esperaba en la siguiente salida:
linuxhint@: ~ $ bash t5.mierda
Ingrese un número: 3
Su entrada no es dos dígitos
linuxhint@: ~ $ bash t5.mierda
Ingrese un número: 10
linuxhint@: ~ $ bash t5.mierda
Ingrese un número: 99
linuxhint@: ~ $ bash t5.mierda
Ingrese un número: 100
Su entrada no es dos dígitos
linuxhint@: ~ $ bash t5.mierda
Ingrese un número: 101
Su entrada no es dos dígitos
Ejemplo 6: Condición de Elif en Bash
Ahora proporcionaremos un ejemplo de múltiples condiciones en el bloque de código con Género. Puedes tener cero, uno o multipea Género Condiciones en un bloque de código. Para este ejemplo proporcionaremos dos Género condiciones como demostración, pero puede usar cualquier número de Género Bloques en la práctica.
#!/bin/bash
Leer -P "Ingrese un número:" User_input
if [[$ user_input -lt 0]]; entonces
Echo "No es una entrada de número positivo válido"
Elif [[$ user_input -gt 0 && $ user_input -lt 10]]; entonces
echo "número válido de 1 dígito ingresado"
Elif [[$ user_input -gt 9 && $ user_input -lt 100]]; entonces
echo "número válido de 2 dígitos ingresado"
FI
Probaremos este código con una variedad de números para demostrar que si o Género la condición se activa:
linuxhint@: ~ $ bash t6.mierda
Ingrese un número: -1
No es una entrada de número positivo válido
linuxhint@: ~ $ bash t6.mierda
Ingrese un número: 1
Número válido de 1 dígito ingresado
linuxhint@: ~ $ bash t6.mierda
Ingrese un número: 14
Número válido de 2 dígitos ingresado
linuxhint@: ~ $ bash t6.mierda
Ingrese un número: 101
linuxhint@: ~ $
Ejemplo 7: Si más la declaración en scripting bash
Ahora demostraremos el DEMÁS condición. El DEMÁS la condición se usa en el caso donde el SI condición o todo el Género las condiciones no existen que el DEMÁS se utilizará la condición y el código en el DEMÁS Se ejecutará la condición. Agreguemos un ejemplo de DEMÁS condición al ejemplo anterior pero para ser claro Género no se requiere para aprovechar el DEMÁS condición. El DEMÁS La condición se puede usar con un SI condición y no Género condición.
#!/bin/bash
Leer -P "Ingrese un número:" User_input
if [[$ user_input -lt 0]]; entonces
Echo "No es una entrada de número positivo válido"
Elif [[$ user_input -gt 0 && $ user_input -lt 10]]; entonces
echo "número válido de 1 dígito ingresado"
Elif [[$ user_input -gt 9 && $ user_input -lt 100]]; entonces
echo "número válido de 2 dígitos ingresado"
demás
echo "no se ingresó un número válido de 2 dígitos"
FI
Probemos el código de ejemplo con un caso de prueba simple que debería caer en el DEMÁS condición:
linuxhint@: ~ $ bash t7.mierda
Ingrese un número: 199
No se ingresó un número válido de 2 dígitos
linuxhint@: ~ $
CONCLUSIÓN
Hemos visto cómo usar SI, Género y DEMÁS Condiciones para formar ejecución condicional en muchas combinaciones en scripts bash y programas de bash. Para los próximos pasos, puede estudiar las condiciones de prueba y las variaciones y variedades disponibles para probar una condición. También puede considerar la declaración del caso bash como una alternativa para la lógica condicional en scripts bash. Finalmente, el manual de referencia de GNU Bash es una buena fuente de verdad cuando se busca detalles exactos de sintaxis.