Comando de casos bash

Comando de casos bash

El comando de casos bash se utiliza para tomar medidas adecuadas comparando datos como si la declaración. Funciona como una declaración de casos de conmutación de otros lenguajes de programación estándar. Este comando comienza con la declaración de 'caso' y se cierra mediante la declaración 'ESAC'. No se usa ninguna declaración de descanso en el comando de caso y se requiere doble soporte (;;) para mencionar la (s) declaración (s) de cualquier coincidencia en particular. Este comando expande la expresión e intenta coincidir con el patrón dado y el código de estado de salida de este comando será cero si no se encontrará coincidencia. Algunos ejemplos comunes de declaraciones de casos se muestran en este tutorial.

Ejemplo-1: Declaración de caso simple

Se usa una sola expresión condicional en el comando BASH Case para generar la salida en función de la condición coincidente. Crear un archivo bash llamado caso 1.mierda con el siguiente guión de Bash. El script tomará un valor de cadena y coincidirá con el valor con cada expresión. El siguiente script generará "sin ingresar" si no existe una expresión coincidente,
caso 1.mierda

#!/bin/bash
Echo "Escriba su nombre"
nombre de lectura
Caso $ Nombre en
Yesmin)
echo "tu color favorito es azul" ;;
Fahmida)
echo "tu bebida favorita es sprite" ;;
*)
echo "No se encontró entrada" ;;
ESAC

Ejecutar el guión.

$ Bash Case1.mierda

Producción:

El archivo se ejecuta con una entrada válida e inválida aquí para probar la salida.

Ejemplo-2: Declaración de casos múltiples con tubería

Se pueden aplicar expresiones de casos múltiples en el script bash para ejecutar diferentes tipos de declaraciones. El símbolo de tubería (|) se puede usar para asignar las expresiones múltiples. Crear un archivo bash llamado Caso2.mierda Con el siguiente script. Después de ejecutar el script, si el valor de entrada coincide con cualquier expresión, se imprimirá el valor de texto correspondiente.
Caso2.mierda

#!/bin/bash
Echo "Escriba su número de identificación"
Leer identificación
Caso $ id en
65341)
echo "su posición es la primera" ;;
97564 | 88453)
echo "su posición es 2da" ;;
45087)
Echo "Tu posición es tercera" ;;
*)
echo "ID inválido" ;;
ESAC

Ejecutar el guión .

$ bash case2.mierda

Producción:

Este script también funciona como el ejemplo anterior. La única diferencia es que los valores de expresión múltiples se prueban para una sola salida.

Ejemplo-3: cómo dejar de fumar del bloque de instrucciones Case/ESAC

Cuando se usa el comando de caso bash en un bucle infinito, el comando de salida debe usar para terminar el bucle. Este ejemplo muestra cómo se puede hacer estos tipos de tarea. Crear un archivo de texto llamado case3.mierda Con el siguiente script. Este script tomará cualquier número del 1 al 3 como entrada. Si la entrada es 1, entonces se agregarán dos números, si la entrada es 2, entonces se restarán dos números y si el número de entrada es 3, entonces se multiplicarán dos números. La salida será "entrada no válida" si el número de entrada es más de 3 o menos de 1 o vacío.
case3.mierda

#!/bin/bash
#!/bin/bash
mientras (verdadero)
hacer
a = 8
b = 4
((x = $ a+$ b))
((y = $ a- $ b))
((z = $ a*$ b))
Echo "Tipo 1 o 2 o 3"
Leer ANS
Caso $ Ans en
1) Echo "La suma de $ A y $ B es $ X y salida" ;;
2) Echo "La resta de $ A y $ B es $ y y salida" ;;
3) Echo "La multiplicación de $ A y $ B es $ Z & Exit" ;;
*) echo "entrada inválida"
ESAC
hecho

Ejecutar el guión.

$ bash case3.mierda

Producción:

El script continuará ejecutándose hasta que se presione Ctrl+C.

Ejemplo-4: Comprobación del valor del argumento de la línea de comando vacío

La variable de argumento de la línea de comando se puede usar en la instrucción BASH Case. Crea un archivo llamado Caso4.mierda con el siguiente script que verificará el valor de la segunda variable de argumento.

#!/bin/bash
Caso "$ 2" en
"Ubuntu")
Echo "El segundo argumento es de $ 2."
;;
"CentOS")
Echo "El segundo argumento es de $ 2."
;;
"")
echo "El segundo argumento está vacío."
;;
ESAC

Ejecutar el guión.

$ bash case4.mierda

Producción:

Aquí, el script se ejecuta sin ningún segundo valor de argumento de línea de comando por primera vez y el resultado muestra "el segundo argumento está vacío". Cuando el script se ejecuta con un segundo valor de argumento de línea de comando por segunda vez, entonces no se muestra ninguna salida.

Ejemplo-5: Declaración de casos múltiples basado en la entrada del usuario

Crear un archivo bash llamado Case5.mierda Con el siguiente script. El script tomará el nombre de mes como entrada del usuario. Si el nombre del mes coincide con cualquier valor de caso, entonces se asignará un mensaje de texto en particular al mensaje variable. El valor de entrada debe ser el nombre de mes completo o el nombre del mes de tres caracteres.

Case5.mierda

#!/bin/bash
Echo "Escriba el nombre de un mes"
mes de lectura
Caso $ mes en
Enero | Jan*)
Mensaje = "21 de febrero es nuestro Día Internacional de la Madre."
;;
Febrero | Feb*)
Mensaje = "21 de febrero es nuestro Día Internacional de la Madre."
;;
Marzo | Mar*)
Mensaje = "9 de marzo es el día mundial del riñón."
;;
Abril | Abr*)
Message = "El mes actual no es febrero"
;;
May | May*)
Mensaje = "El mes actual es febrero"
;;
June | Jun*)
Mensaje = "El mes actual es febrero"
;;
*)
Mensaje = "No se encontró información coincidente"
;;
ESAC
Mensaje de echo $

Ejecutar el guión.

$ bash case5.mierda

Producción:

La siguiente salida aparecerá para el valor de entrada, 'marzo' o 'mar'.

Ejemplo-6: Verifique la variable en la instrucción BASH Case

Cualquier valor de cadena se puede imprimir verificando el valor de la variable de argumento de la línea de comando. Crear un archivo de texto llamado case6.mierda Con el siguiente script. En este ejemplo, se verifica el valor de la primera variable de argumento y si el valor está vacío, entonces se imprimirá una cadena, "me gusta la programación bash".

case6.mierda

#!/bin/bash
Caso $ 1 en
("") echo "Me gusta la programación de bash";
ESAC

Ejecutar el guión.

$ bash case6.mierda

Producción:

Este script se ejecuta con y sin primeros argumentos. No habrá salida si no pasa la variable de argumento de línea de comando.

Conclusión

En este artículo se muestran diferentes usos del comando de casos bash. Si los lectores practican estos ejemplos correctamente, entonces será más fácil para ellos resolver muchos problemas de programación de bash.