Comandos de Linux

Comando de caso BASH

Comando de caso BASH

El comando Bash case se usa para tomar la acción adecuada comparando datos como la declaración if. Funciona como una declaración de mayúsculas y minúsculas de otros lenguajes de programación estándar. Este comando comienza con la declaración 'case' y se cierra con la declaración 'esac'. No se usa ninguna instrucción de ruptura en el comando de caso y se requiere un corchete doble (;;) para mencionar las declaraciones para 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 encuentran coincidencias. En este tutorial se muestran algunos ejemplos comunes de declaraciones de casos.

Ejemplo 1: declaración de caso simple

Se utiliza una sola expresión condicional en el comando bash case para generar la salida basada en la condición de coincidencia. Crea un archivo bash llamado caso 1.sh con el siguiente script bash. El script tomará un valor de cadena y hará coincidir el valor con cada expresión. La siguiente secuencia de comandos generará "No se ha encontrado ninguna entrada" si no existe una expresión coincidente,
caso 1.sh

#!/ bin / bash
echo "Escribe tu nombre"
leer nombre
caso $ nombre en
Yesmin)
echo "Tu color favorito es el azul" ;;
Fahmida)
echo "Tu bebida favorita es Sprite" ;;
*)
echo "No se ha encontrado ninguna entrada" ;;
esac

Ejecuta el script.

$ bash case1.sh

Producción:

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

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

Se pueden aplicar múltiples expresiones de casos en el script bash para ejecutar diferentes tipos de declaraciones. El símbolo de tubería (|) se puede utilizar para asignar las expresiones múltiples. Crea un archivo bash llamado caso2.sh 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.sh

#!/ bin / bash
echo "Escriba su número de identificación"
leer ID
caso $ ID en
65341)
echo "Tu posición es la 1ª" ;;
97564 | 88453)
echo "Tu posición es la 2da" ;;
45087)
echo "Tu posición es la 3ª" ;;
*)
echo "ID no válido" ;;
esac

Ejecuta el script .

$ bash case2.sh

Producción:

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

Ejemplo-3: Cómo salir del bloque de sentencias case / esac

Cuando el comando bash case se usa en un bucle infinito, se requiere usar el comando de salida para terminar el bucle. Este ejemplo muestra cómo se pueden realizar estos tipos de tareas. Crea un archivo de texto llamado caso3.sh con el siguiente script. Este script tomará cualquier número del 1 al 3 como entrada. Si la entrada es 1, se agregarán dos números, si la entrada es 2, se restarán dos números y si el número de entrada es 3, 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 está vacío.
caso3.sh

#!/ bin / bash
#!/ bin / bash
mientras (cierto)
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 $ ay $ b es $ x & exit" ;;
2) echo "La resta de $ ay $ b es $ y & exit" ;;
3) echo "La multiplicación de $ ay $ b es $ z & exit" ;;
*) echo "Entrada no válida"
esac
hecho

Ejecuta el script.

$ bash case3.sh

Producción:

El script continuará ejecutándose hasta que se presione ctrl + c.

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

La variable de argumento de la línea de comando se puede usar en la declaración de caso de bash. Crea un archivo llamado case4.sh 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 $ 2."
;;
"CentOS")
echo "El segundo argumento es $ 2."
;;
"")
echo "El segundo argumento está vacío."
;;
esac

Ejecuta el script.

$ bash case4.sh

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, no se muestra ningún resultado.

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

Crea un archivo bash llamado case5.sh con el siguiente script. El script tomará el nombre del mes como entrada del usuario. Si el nombre del mes coincide con cualquier valor de caso, se asignará un mensaje de texto en particular a la variable Mensaje. El valor de entrada debe ser el nombre del mes completo o el nombre del mes de tres caracteres.

case5.sh

#!/ bin / bash
echo "Escribe el nombre de un mes"
mes de lectura
caso $ mes en
Enero | enero *)
Mensaje = "El 21 de febrero es el día internacional de la madre."
;;
Febrero | Feb *)
Mensaje = "El 21 de febrero es el día internacional de la madre."
;;
Marzo | Mar *)
Mensaje = "El 9 de marzo es el día mundial del riñón."
;;
Abril | Abr *)
Mensaje = "El mes actual no es febrero"
;;
Mayo | mayo *)
Mensaje = "El mes actual es febrero"
;;
Junio ​​| junio *)
Mensaje = "El mes actual es febrero"
;;
*)
Mensaje = "No se encontró información coincidente"
;;
esac
echo $ Mensaje

Ejecuta el script.

$ bash case5.sh

Producción:

La siguiente salida aparecerá para el valor de entrada, 'Marzo' o 'Mar'.

Ejemplo-6: Variable de verificación en la declaración de caso de bash

Se puede imprimir cualquier valor de cadena comprobando el valor de la variable de argumento de la línea de comando. Crea un archivo de texto llamado case6.sh con el siguiente script. En este ejemplo, se verifica el valor de la primera variable de argumento y si el valor está vacío, se imprimirá una cadena, "Me gusta la programación bash".

case6.sh

#!/ bin / bash
caso $ 1 en
("") echo "Me gusta la programación bash";
esac

Ejecuta el script.

$ bash case6.sh

Producción:

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

Conclusión

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

Tutorial de OpenTTD
OpenTTD es uno de los juegos de simulación empresarial más populares que existen. En este juego, necesitas crear un maravilloso negocio de transporte....
SuperTuxKart para Linux
SuperTuxKart es un gran título diseñado para ofrecerte la experiencia Mario Kart de forma gratuita en tu sistema Linux. Es bastante desafiante y diver...
Tutorial de Battle for Wesnoth
The Battle for Wesnoth es uno de los juegos de estrategia de código abierto más populares que puedes jugar en este momento. Este juego no solo ha esta...