Bash si, de lo contrario, si, de lo contrario, ejemplos

Bash si, de lo contrario, si, de lo contrario, ejemplos
En este tutorial de indintos de Linux, enseñaremos condicionales de scripts bash usando SI, Género y DEMÁS comandos. El SI La condición es la forma más básica de tomar medidas condicionales en un scripts bash, por lo que es importante tener un comprensión firme de su sintaxis y opciones para ser productivos. Cuando usas SI Condiciones en Bash, opcionalmente puede introducir Género condiciones que proporcionarán diferentes acciones dependiendo de cuál sea un grupo de condiciones VERDADERO. Además el DEMÁS La condición se puede incluir opcionalmente, que proporcionará código para ejecutar si no se cumple ninguna de las condiciones en el grupo.

Los ejemplos específicos que se muestran en este artículo incluyen:

  1. Ejemplo 1: IF Declaración en Bash en la igualdad de cadenas
  2. Ejemplo 2: IF Declaración en Bash sobre el número de igualdad
  3. Ejemplo 3: Declaración IF en BASH en menos de un número
  4. Ejemplo 4: IF Declaración en Bash con lógico y operador
  5. Ejemplo 5: IF Declaración en Bash con lógico u operador
  6. Ejemplo 6: Condición de Elif en Bash
  7. Ejemplo 7: Si más la declaración en scripting bash

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.