Diario de aprendizaje de GNU-linux

Día 37 Condicional CASE:

  • La condicional case es una estructura de control de flujo, que nos permite ejecutar ciertos bloques de código dependiendo de ciertas condiciones.

  • Ejemplo en Pseudocodigo:

  •   caso: 1
      	bloque de codigo
          fin del caso 1
      caso: 2
      	bloque de codigo
          fin del caso 2
      caso: 3
      	bloque de codigo
          fin del caso 3
    
    
  • Sintaxis:

    • 	  case expresion in
      	  condicion1)
      	  	#codigo en caso de que la exprecion sea cierta
      	      ;;
      	  condicion2)  
      	  	#codigo en caso de que la exprecion sea cierta
      	      ;;
      	  condicionN)  
      	  	#codigo en caso de que la exprecion sea cierta
      	      ;;
      	  esac
      
      
  • En este ejemplo declaramos la condicional con case seguido de una expresión, las expresiones son el resultado de cualquier expansión, y luego in es un separador sintáctico que opera como delimitador para luego proceder con las condiciones, las cuales evalúan si el resultado de la expansión coincide, los ;; se usan para separar las condiciones, cumple una función sintáctica, y finalmente esac que es case alrevez, y su función es declarar el fin de las condiciones

  • Ejemplo de uso:

    • 	  variable=1
      	  
      	  case $variable in
      	  1)
      	  	echo "primera opción"
      	      ;;
      	  2)
      	  	echo "segunda opción"
      	      ;;
      	  3)
      	  	echo "tercera opción"
      	      ;;
      	  esac
      
      
  • El comodín (*):

    • Este es un comodín que permite analizar no solo cadena de caracteres si no tambien partes de esa cadena, y ademas tabulaciones, espacios vacios e incluso ninguna acción

    • Ejemplo:

    • 	  exprecion="archivo.txt"
      	  
      	  case $exprecion in
      	  *.txt)
      	  	echo "es un archivo de texto"
      	      ;;
      	  *.mp3)
      	  	echo "es un archivo de audio"
      	      ;;
      	  *.mp4)
      	  	echo "es un archivo de video"
      	      ;;
      	  esac
      
      
    • tambien podemos usarlo como sufijo:

    • 	  exprecion="1-Archivo"
      	  
      	  case $exprecion in
      	  1-*)
      	  	echo "es el primer archivo"
      	      ;;
      	  2-*)
      	  	echo "es el segundo arhivo"
      	      ;;
      	  3-*)
      	  	echo "es el tercer archivo"
      	      ;;
      	  esac
      
      
    • de esta forma podemos analizar los primeros caracteres de una expansión.

    • Otra forma de usarlo es cuando ninguna opción es la correcta o directamente no se ejecuto ninguna opción:

    • 	  exprecion=""
      	  
      	  case $exprecion in
      	  1*)
      	  	echo "primera opcion"
      	      ;;
      	  2*)
      	  	echo "segunda opcion"
      	      ;;
      	  *)
      	  	echo "no se ejecuto ninguna opcion valida"
      	      ;;
      	  esac
      
      
  • Tambien podemos usar varias condiciones para un mismo resultado

    • 	  exprecion="A"
      	  
      	  case $exprecion in
      	  A|B|C*)
      	  	echo "Es una de las opciones A, B, C"
      	      ;;
      	  1|2|3*)
      	  	echo "es una de las opciones 1, 2, 3"
      	      ;;
      	  *)
      	  	echo "no se ejecuto ninguna opcion valida"
      	      ;;
      	  esac
      
      
2 Me gusta