De ejecución:
matados2k@imperio:~/curso$ sh ejemplo45.sh
Se necesitan 3 parámetros
matados2k@imperio:~/curso$ sh ejemplo45.sh suma 2 2
4
matados2k@imperio:~/curso$ sh ejemplo45.sh resta 2 2
0
matados2k@imperio:~/curso$ sh ejemplo45.sh multiplicacion 2 2
4
matados2k@imperio:~/curso$ sh ejemplo45.sh division 2 2
1
matados2k@imperio:~/curso$
Como podemos observar, el uso de 'case' nos facilita la labor y hace el código más legible en casos como éste.
Ahora veamos el mismo ejemplo de 'case' pero aplicando comodines:
#! /bin/bash
if [ $# -ne 3 ]
then
echo Se necesitan 3 parámetros
return 1
fi
case $1 in
"s"*)
echo $(($2+$3))
;;
"r"*)
echo $(($2-$3))
;;
"m"*)
echo $(($2*$3))
;;
"d"*)
echo $(($2/$3))
;;
esac
return 0
De ejecución:
matados2k@imperio:~/curso$ sh ejemplo45.sh sum 2 2
4
matados2k@imperio:~/curso$ sh ejemplo45.sh r 2 2
0
matados2k@imperio:~/curso$ sh ejemplo45.sh matados2k 2 2
4
matados2k@imperio:~/curso$ sh ejemplo45.sh dipas 2 2
1
matados2k@imperio:~/curso$
Como veis, en este último caso he usado el comodín '*' para indicarle a 'case' que sólo es necesario que coincida la primera letra y el resto desde 0 a cualquier número de caracteres.
Despedida.
Sin más, os espero la semana que viene, donde veremos estructuras como 'for' o 'while'.
Agradecimientos:
· Revisión del documento: karuchi (Carolina García).
Página oficial y dominio de mi propiedad http://matados2k.es
Matados'2k Usuario y moderador de foro.noticias3d.com
Matados'2k Usuario y moderador de www.sinuh.org
matados2k (arroba) gmail (punto) com
Este documento está sometido a la licencia de creative commons en su variante "Reconocimiento-NoComercial-SinObraDerivada 2.1 España". Es de agradecer que se comunique al autor el uso de este documento en otro medio y se debe incluir de forma obligatoria este recuadro y los agradecimientos.