Práctica General 2 – Shell Script
1. Realiza un script en el que debas pasar por parámetros de inicialización un nombre
y un apellido, después te pida mediante el read el año en el que naciste, te calcule la
edad y finalmente, te muestre un mensaje del tipo “Hola [Nombre] [Apellido], nos
informan que usted cumple [años] años” (Nota, tenéis que buscar la forma que
mediante la función date te dé el año actual)
2. Realiza un script que pida al usuario un directorio, te cuente el número de archivo
que contiene (os recuerdo el comando wc -l) y si no existe, que te aparezca un
mensaje del tipo “El directorio [Nombre_Directorio] no existe”
3. Realiza un script que nos permita identificar si somos el usuario o no (te recuerdo
la existencia del archivo passwd). En el caso de no serlo, cerrará la sesión con
shutdown
4. Realiza un script que pasando dos valores por pantalla, indique cual de los dos es
el mayor, cual es el menor y si son iguales. En el caso de no ser iguales debe mostrar
también la diferencia que existe entre ambos.
5. Escribe un script que pidiendo dos números por teclado, te pregunte la operación a
realizar ( +, -, *, /) y luego muestre el resultado. Si introduce una opción inválida
debe indicarlo mediante un mensaje del tipo “Operación inválida”
6. Realiza un script que compruebe si un fichero pasado por referencia existe, y si
tiene los permisos de lectura y escritura (fichero común). En el caso de tenerlos,
deberemos modificarlo para que posea también el de ejecución y muestre el estado de
los permisos final del archivo con ls -l
7. Realiza un menú simple con 3 opciones. La primera debe realizar la suma de 2
números pasados por parámetros, la segunda debe realizar la resta y la tercera debe
indicar si un número es par o impar.
Nota: Usar case
8. Realiza un script que introduciendo un carácter, te indique si es letra, número o
carácter especial. Debe usar case para la resolución
9. Realiza un script que al pulsar una tecla nos diga si es letra, número o carácter
especial. Una vez identificado, debe preguntar “¿Desea continuar? (si/no)” realizar
una comprobación de la respuesta y si es diferente a las dos opciones, deberá volver a
preguntarlo hasta que se introduzca la opción correcta.
10. Realiza un script que metiendo un número por parámetro te muestre la tabla de
multiplicar hasta la multiplicación que se indique por un 2* parámetro que deberá ser
preguntado e introducido por pantalla. Deberá realizar 2 versiones, una con for y otra
con while
11. Realiza un script que cuente la cantidad de líneas, palabras y caracteres de un
archivo de texto pasado como parámetro. Si el archivo no existe, debe mostrar un
mensaje de error.
12. Crea un script que muestre un menú con las siguientes opciones:
1. Mostrar la fecha y hora actual
2. Mostrar el espacio en disco
3. Mostrar los usuarios conectados
4. Salir
El usuario deberá ingresar una opción y el script ejecutará la acción correspondiente.
Si el usuario ingresa una opción inválida, debe mostrarse un mensaje de error y
volver a mostrar el menú hasta que seleccione "Salir".
13. (Ejercicio x2) Realiza un script que sea un menú de una tienda. En la portada nos
indicará 3 productos con el precio.
• Refresco 1 euro
• Sandwich Bacon 2 euros
• Bocadillo de lomo 3 euros
Si elegimos una opción que no está en el sistema, nos lo deberá también indicar. Una
vez elegido nos deberá dar la posibilidad de seguir comprando y nos deberá ir
sumando las diferentes opciones que marquemos. Si el total de esa cifra es menor a 5
no se aplicará ningún descuento, si el total está entre 5 y 10 se aplicará un 5% de
descuento, y si es mayor a 10, el descuento será de 10%. Nos debe aparecer un
mensaje de “Su compra total es de [precio_total] con un descuento de [descuento]% ,
por lo que deberá de pagar [Precio_final]”
14. (Ejercicio x2) Crea un script para un videojuego llamado “Carrera de Dados”.
El juego es para dos jugadores. Cada jugador tira un dado virtual (generado con
RANDOM) en turnos alternos. En cada turno, el jugador debe presionar Enter para
lanzar su dado, y el número obtenido se suma a su puntaje total. El juego continúa
hasta que uno de los jugadores alcance o supere los 20 puntos, momento en el cual el
script muestra el mensaje “El jugador [x] ha ganado con una puntuación [X_Puntos]
y el jugador [y] ha perdido con [Y_Puntos]. Una vez finalizado, se debe preguntar si
se desea continuar y volver a iniciar o finalizar.