
¿Qué es una declaración de casos bash?
uno Declaración de casos bash Es una forma de controlar el proceso de scripts bash. Verifica el valor de la variable y lo compara con diferentes patrones. Cuando se encuentra una coincidencia, ejecutará el comando para esa opción. Si no se encuentra ninguna coincidencia, ejecutará la acción predeterminada.
Esto es mucho más fácil que escribir muchas declaraciones if-else. Piense en ello como un menú: selecciona una opción y el script sabe cómo hacerlo.
Cómo funcionan las declaraciones de casos bash
La estructura es muy simple:
- Empiece con la palabra caso El segundo es la variable que se probará
- Agregar palabras existir
- Escribe posibles patrones y comandos para cada juego
- Termine cada patrón con dos semicolones (;;)
- Usar estrellas
- Para las opciones predeterminadas cierre ESAC
(Esto se escribe al revés)
echo "Pick a color:"
echo "1 Blue"
echo "2 Red"
echo "3 Yellow"
echo "4 Green"
read choice
case $choice in
1) echo "Blue is a primary color";;
2) echo "Red is a primary color";;
3) echo "Yellow is a primary color";;
4) echo "Green is a secondary color";;
*) echo "This color is not available";;
esac
Ejemplo 1: Menú de color
echo "Pick a color:"Instrucciones de escriba:echo "1 Blue"→ Imprima un mensaje pidiéndole al usuario que seleccione un color.echo "2 Red",,,,,read choiceetc. → Mostrar opciones disponibles.choice→ Esperando que el usuario escriba un número y lo guarde en una variablecase $choice in.choice→ Iniciar la declaración de caso y verificar1) echo "Blue is a primary color";;.1→ Si el valor es2)imprime este mensaje.3),,,,,4),,,,,*) echo "This color is not available";;→ Procesar otras opciones válidas.esac→ Star es la opción predeterminada. Si el usuario ingresa algo más que 1-4, se ejecutará.
→ Declaración de caso final.
read -p "Enter a month: " month
case $month in
February) echo "28 or 29 days";;
April|June|September|November) echo "30 days";;
January|March|May|July|August|October|December) echo "31 days";;
*) echo "Unknown month";;
esac
Ejemplo 2: días en un mes
read -p "Enter a month: " monthInstrucciones de escriba:month→ Muestre un mensaje durante un mes y guarde la entrada en la variablecase $month in.month→ Iniciar la declaración de caso y verificarFebruary) echo "28 or 29 days";;.April|June|September|November)→ Si el usuario escribió «febrero», imprima este mensaje.|→ Símbolos de barraJanuary|March|...|December)Significa «o», por lo que esta línea coincide con cualquiera de esos meses e imprime como «30 días».*) echo "Unknown month";;→ coincide con otros meses e imprima «31 días».esac→ Manejar cualquier otra cosa que no coincida.
→ Declaración cerrada.
for file in *; do
case $file in
*.txt) echo "Processing text file: $file";;
*.csv) echo "Processing CSV file: $file";;
*) echo "Ignoring unknown file: $file";;
esac
done
Ejemplo 3: Check Tipo de archivo
for file in *; doInstrucciones de escriba:file→ Este bucle pasa a través de cada archivo en la carpeta actual. Cada nombre de archivo se almacena en una variablecase $file in.*.txt) echo "Processing text file: $file";;→ Inicie la declaración de caso y verifique el nombre del archivo actual..txt→ Si el nombre del archivo termina con*.csv) echo "Processing CSV file: $file";;Imprime que está procesando el archivo de texto..csv→ Si el nombre del archivo termina con*) echo "Ignoring unknown file: $file";;imprime el archivo CSV que se está procesando.esac→ Acción predeterminada para todos los demás tipos de archivos.done→ Declaración de caso final.
→ Finalizar el bucle.
- ¿Por qué usar la declaración de casos bash?
- Hace que los scripts sean más cortos y más fácil de leer
- Evita las cadenas de if-else largas y confusas
- Detente después de encontrar el primer juego
Le permite agrupar múltiples patrones juntos
Plantilla rápida para declaraciones de casos bash
case value in
option1) commands;;
option2) commands;;
*) default commands;;
esac
Esta es la estructura general:
case value inexplicar:option1)→ Inicie la declaración de caso y verifique el valor.commands;;→ Patrón de coincidencia.*)→ Si el patrón coincide, ejecute.esac→ Opciones predeterminadas para cualquier otra cosa.
→ Declaración de caso final.
Usos comunes de las declaraciones de casos bash este Declaración de casos bash
- Por lo general, se usa para:
- Crear menús para los usuarios
- Procesar una entrada de usuario diferente
Ejecutar comandos basados en el nombre del archivo o extensión de archivo
El pensamiento final este Declaración de casos bash
Es una de las herramientas más útiles en los scripts bash. Proporciona una lista clara de opciones para sus scripts, en lugar de muchas líneas if-else.
Al comprender la estructura y ver cómo funciona en los ejemplos, puede comenzar a escribir scripts simples, claros y para principiantes. El caso es una herramienta para usar correctamente cuando tenga varias opciones para verificar.



![Smap: escáner de red alternativo para Nmap de shodan.io [Examples]](https://muylinux.xyz/wp-content/uploads/2022/05/Smap-escaner-de-red-alternativo-para-Nmap-de-shodanio-Examples-390x220.jpg)





