Actividad 9: Scripts II

per Victor Carceler darrera modificació 2020-03-25T16:28:54+02:00
Condiciones if, comprobaciones con test y [], aritmética

Inicie una sesión remota de trabajo en Valinor e implemente los siguientes shell scripts.

  1. Mejore el script compila con los siguientes puntos:
  • Se comprobará el número de argumentos. Si no fuese uno y sólo uno, se mostrará un mensaje de error al usuario indicando cómo se debe ejecutar el script. Terminará la ejecución
  • Si el fichero de código fuente no existiese, o no fuese legible, se mostrará un mensaje de error y se terminará la ejecución
  • Si no se puede escribir en el directorio ~/bin se mostrará un mensaje de error y se terminará la ejecución
  • Si al compilar se produjese algún error, se mostrará un mensaje tal que: "SOLUCIONE LOS ERRORES EN EL CÓDIGO FUENTE" y terminará la ejecución
  • El código de retorno del script será el adecuado, según haya terminado realizando su función sin problemas o se haya producido un error. Si se produjeron errores al compilar, el código de retorno será el código de retorno devuelto por el compilador
  • Se desea obtener un programa llamado 'valora <a> <b>' de manera que al ejecutarlo se le deban indicar dos valores numéricos (a y b) ambos en el rango [0, 10]. El programa deberá comprobar que recibe dos argumentos y que estos están en el rango de valores aceptados. Los valores de entrada serán números enteros, la salida será un valor numérico real (con 4 dígitos de precisión) tal que:
    • Si se cumple b<=a entonces la salida será b/a*5
    • En caso contrario, la salida será 5+(b-a)/(10-a)*5
  • Escriba el script 'examina <fichero>' de manera que indique:
    • Si el fichero existe si es un fichero o directorio, si no existe presentará un mensaje para el usuario
    • Si el fichero es legible
    • Si el fichero es escribible
    • Si el fichero es ejecutable
    • La salida del comando file aplicada al fichero
  • Implemente el script 'paroimpar <n1> <n2> ...' de forma que para cada valor numérico indicado en la línea de argumentos se indique si se trata de un valor par o impar
  • Implemente el script 'cuentaletras <directorio>' de manera que para cada fichero regular contenido en el directorio indicado se calcule el número de carácteres que tiene su nombre
  • Diseñe un script llamado 'listadirectorio <directorio>' de manera que si el directorio indicado existe se muestra su contenido. Utilice el operador &&.
  • Diseñe un script llamado 'compruebafichero <fichero>' de manera que si el fichero indicado no existe se muestra un mensaje de advertencia. Utilice el operador ||.
  • Diseñe el script llamado 'aciertapalabra <palabra>' de manera que se pregunte de forma repetida al usuario cual es la palabra secreta (la que se pasó como argumento al ejecutar el programa). Cuando el usuario contesta con la palabra secreta el programa termina. El programa debe contar el número de intentos realizados. Se utilizará una estructura while.
  • Diseñe el script llamado 'buscasesiones' de manera que pregunte de forma repetida por el login, o fragmento de login, de un usuario mientras no se introduzca uno que tiene una sesión abierta.