Guión shell

Buenas!
Estoy haciendo un script en unix y... Bueno mejor voy al asunto y no me enrollo.
Paso un parámetro y tengo que reconocer si es una letra, esto lo hago mediante un case y no me da problemas, pero luego, si se ha pasado, por ejemplo, la letra "a" tengo que devolver por pantalla la letra "b", si pasan la "b" devolver la "c" y así sucesivamente. Y me estoy volviendo loco! No consigo ver como hacerlo!
Si alguien me pudiera ayudar se lo agradecería mucho, porque... ¡Que comedura de cabeza me estoy haciendo!
Gracias.

1 Respuesta

Respuesta
1
Puedes hacer algo como esto:
Echo "digite una letra: "
Read X
# aqui va tu "case $X" ...
echo $X | tr "abcdefghijklmnopqrstuvxyz" "bcdefghijklmnopqrstuvwxyza"
_ _ _
Tambien podrias hacer estos 2 pequeños programitas en C:
----- ord.c ----------------------
void main(int argc, char **argv) {
printf("%d", argv[1][0]);
}
----- chr.c ----------------------
void main(int argc, char **argv) {
int i;
i=atoi(argv[1]);
printf("%c", i);
}
----------------------------------
Ojo! no tienen ninguna validacion!
Los compilas, y usas asi:
$ cc -o ord ord.c
$ strip ord
$ cc -o chr chr.c
$ strip chr
Y tu script quedaria asi:
echo "digite una letra: "
read X
# aqui va tu "case $X" ...
Y=`ord $X`
Y=`expr $Y + 1`
Z=`chr $Y`
echo $Z

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas