IES Miguel Romero Esteo - Departamento de Informática - Linux/Unix
Bash shell y programación en Bash.
Documentación:
Plan director
bash es un programa perteneciente al grupo de las shells de Unix-GNU/Linux que por su versatilidad y estabilidad se ha convertido en la interface más utilizada en la consola de comandos en estos sistemas, tanto por usuarios como por administradores. Proporciona una comunicación altamente funcional entre el usuario y el sistema así como un potente entorno de programación.
Se puede decir que es la herramienta maestra de un administrador de sistemas Unix-GNU/Linux, por tanto, se merece una atención especial por parte de los futuros profesionales de estas plataformas.
Se
espera que el alumno ponga suficiente interés y que de la
mano del profesor comprenda la forma de trabajar de los
bloques funcionales de bash así como las
posibilidades que brinda el entorno de ejecución y sobre
todo de desarrollo.
Se plantea el estudio de este aplicativo en lo que respecta al
entorno de programación en dos fases:
Fase I: Se introducirá al alumno en la metodología de la programación general, se verán conceptos básicos, se proporcionarán las piezas gráficas elementales para construir organigramas y se trabajará con ejemplos sencillos de propósito general, todo ello siguiendo los primeros capítulos y los primeros ejercicios del documento Diagramas de flujo. ejercicios y Problemas. La realización de los ejercicios seleccionados de este documento generará dos archivos:
- El organigrama construido con la herramienta diagrams.net.
- El shell-script que ejecuta el algoritmo implementado en el organigrama.
La codificación de los shell-script se resolverá estudiando los apartados adecuados de la página de manual de la Bash enlazados en el índice de más abajo.
Se proporcionará al alumno un espacio en un servidor del departamento donde almacenar la producción de esta fase. Dicho espacio debe estar estructurado en una adecuada ramificación de directorios y archivos con nombres normalizados.
Fase II: Alcanzado un nivel de madurez suficiente se trabajará en la implementación de los shel-script que den solución a los ejercicios planteados en el Bloque1 del primer trimestre de ASO, el cual, al igual que este director, está accesible en la plataforma moodle-centros.
La codificación de los shell-script se resolverá estudiando los apartados adecuados de la página de manual de la Bash enlazados en el índice de más abajo.
Se proporcionará al alumno un espacio en un servidor del departamento donde almacenar la producción de esta fase. Dicho espacio debe estar estructurado en una adecuada ramificación de directorios y archivos con nombres normalizados.
Algunos de los scripts propuestos en esta fase deben ser ejecutados con privilegios de root. Teniendo en cuenta que al sistema que provee el espacio arriba indicado se accede con privilegios de usuario, para verificar el funcionamiento de estos scripts, el alumno se dotará a si mismo de un sistema GNU/Linux al que poder aceder con privilegios de root, por ejemplo, una Máquina virtual con un sistema GNU/linux idéntico al servidor del departamento. Debe quedar claro que si el alumno pide soporte, la VM debe ser accesible desde el puesto del profesor, en caso contrario no se prestará soporte.
Versión 1. Ejecución descendente sin control del flujo. No se aplican condiciones. No se aplican filtros a los datos. No se informa al usuario de las acciones a realizar. No se filtran los errores de ejecución: v1
Version 2. Uso de la estructura condicional if (con/sin anidamiento). Se aplican condiciones (simples/compuestas). No se aplican filtros a los datos de entrada. Se informa al usuario de las acciones a realizar. No se filtran los errores de ejecución. v2.1; v2.1.1; v2.2; v2.2.1
Versión 3. Uso de la estructura iterativa while. Mejora la funcionalidad ya que da la oportunidad de repetir la captura de datos en caso de no cumplirse las condiciones de rango. Se aplican condiciones compuestas. No se aplican filtros a los datos de entrada. Se informa al usuario de las acciones a realizar. No se filtran los errores de ejecución. v3;
Versión 4. Uso de la estructura iterativa until. Mejora la funcionalidad ya que da la oportunidad de repetir la captura de datos en caso de no cumplirse las condiciones de rango. Se aplican condiciones compuestas. No se aplican filtros a los datos de entrada. Se informa al usuario de las acciones a realizar. No se filtran los errores de ejecución. v4;