Linux/Unix Shell Scripting - Ayuda con Script de Mayúsculas y Minúculas

 
Vista:
sin imagen de perfil

Ayuda con Script de Mayúsculas y Minúculas

Publicado por Fran (2 intervenciones) el 20/04/2018 17:24:26
Buenas, necesito ayuda con un script que reconozca mayúsculas de minúsculas segun la letra que le pases por pantalla, mi código era este:

1
2
3
4
5
6
7
8
#!/bin/bash
clear
echo -n "Dime una letra y te diré si es Minúscula o Mayúscula: "
read LETRA
case $LETRA in
([A-Z]) echo "Es Mayúscula";;
([a-z]) echo "Es Minúscula";;
esac

El caso es que al insertar una letra sea mayúscula o minúscula me sale que es Mayúscula. SI alguien puede ayudarme se lo agradeceria
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con Script de Mayúsculas y Minúculas

Publicado por pedro (1 intervención) el 20/04/2018 17:46:57
Probaste con el condicional IF ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda con Script de Mayúsculas y Minúculas

Publicado por Fran (2 intervenciones) el 20/04/2018 17:55:37
El problema es que tengo que hacer la estructura con case pero si lo hiciera con if no sabría como expresarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de abzerox
Val: 101
Oro
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Ayuda con Script de Mayúsculas y Minúculas

Publicado por abzerox (27 intervenciones) el 21/04/2018 10:05:03
Hola, se me ocurren 2 formas por la que puedes logralo, la primera usando la sentencia case (la cual es menos eficiente) y la otra usando sentencias if-elif-else junto con una pequeña expresión regular la cual comprueba que tenga unicamente una letra mayúscual [A-Z] o minúscula [a-z], desde el ^ (inicio) al $ (final).

1) Usando la sentencia case
1
2
3
4
5
6
7
8
#!/bin/bash
clear
read -p "Dime una letra y te diré si es Minúscula o Mayúscula: " letra
case $letra in
	A|B|C|D|E|F|G|H|I|J|K|L|M|N|Ñ|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "Es Mayúscula";;
	a|b|c|d|e|f|g|h|i|j|k|l|m|n|ñ|o|p|q|e|s|t|u|v|w|x|y|z) echo "Es Minúscula";;
	*) echo "Por favor, ingresa solo una letra."
esac

2) Usando expresiones regulares
1
2
3
4
5
6
7
8
9
10
#!/bin/bash
clear
read -p "Dime una letra y te diré si es Minúscula o Mayúscula: " letra
if [[ $letra =~ ^[A-Z]$ ]]; then
	echo "Es Mayúscula"
elif [[ $letra =~ ^[a-z]$ ]]; then
 	echo "Es Minúscula"
else
	echo "Por favor, ingresa solo una letra."
fi


Nos comentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 104
Oro
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Ayuda con Script de Mayúsculas y Minúculas

Publicado por xve (309 intervenciones) el 21/04/2018 08:32:33
Hola Fran, como lo estas ejecutando? yo lo he probado y funciona perfectamente!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar