EJERCICIO 3 (3.5 puntos) Tiempo estimado: 50 min. #!/bin/bash

Transcripción

EJERCICIO 3 (3.5 puntos) Tiempo estimado: 50 min. #!/bin/bash
EJERCICIO 3 (3.5 puntos)
Tiempo estimado: 50 min.
Eres el administrador de un sistema Linux en un centro educativo y debes desarrollar un script en
lenguaje BASH para la obtención de notas de una asignatura. El script se llama notas.sh y debe
tener doble funcionalidad y, por tanto, dos formas alternativas de llamada. Los dos formatos de
llamada son:
notas.sh construir <fic-datos-alumno> <fic-notas>
notas.sh nota <num-matricula>
El primer parámetro del script identificará la acción concreta del script y tendrá el valor
“construir” cuando se quiera generar el fichero de notas o “nota” cuando se quiera solicitar
la nota de un alumno.
Cuando el primer parámetro del script sea “construir”, el script deberá generar el fichero de
notas /admin/listado con información procedente de los dos ficheros pasados como
parámetros 2 y 3. Puede suponerse que el directorio /admin ya existe.
Los tres ficheros implicados (datos del alumno, notas y listado a generar) tienen una línea por cada
alumno. Sus formatos son los siguientes:
Fic-datos-alumno: num-matricula:dni:nombre-y-apellidos:otra-información
Fic-notas: num-matricula:nota
/admin/listado: num-matricula:nombre-y-apellidos:nota
Cuando el primer parámetro sea “nota”, el script deberá comprobar si el fichero con el listado de
notas existe (se ha generado ya), y si es así, obtendrá la nota solicitada y escribirá un mensaje por
la salida estándar diciendo “La nota solicitada es <nota>”.
NOTA IMPORTANTE: En la implementación debes utilizar dos funciones (generar_fic_notas y
obtener_nota), una para cada funcionalidad del script. A continuación se muestra el esquema
del script que debes desarrollar:
#!/bin/bash
# Script notas.sh – gestión de notas
# Variables globales (declara sólo las que necesites)
# Función generar_fic_notas ($1 - fic_datos_alumno, $2 – fic_notas)
# Genera listado de notas a partir de los ficheros de los parámetros
# Función obtener_nota ($1 – num_matricula)
# Muestra nota del alumno cuyo número de matrícula recibe como parám.
# Programa principal

Documentos relacionados