El shell es a la vez un lenguaje y un programa, y aquí le presentamos su comportamiento detallado para que pueda dominar su programación. Este curso le permitirá adquirir verdadera autonomía en la escritura de scripts de shell para aplicaciones específicas (supervisión, automatización, instalación de software, tratamiento de archivos, etc.).
El shell es a la vez un lenguaje y un programa, y aquí le presentamos su comportamiento detallado para que pueda dominar su programación. Este curso le permitirá adquirir verdadera autonomía en la escritura de scripts de shell para aplicaciones específicas (supervisión, automatización, instalación de software, tratamiento de archivos, etc.).
es
esp
Desarrolladores, técnicos y administradores de Unix/Linux.
Conocimientos básicos de un sistema Linux/Unix y de programación. Se valorará la experiencia en el uso de uno de estos sistemas.
Trabajo práctico
Se realizarán varios ejercicios (sencillos y complejos) para ayudar a los alumnos a ser realmente independientes en la escritura de scripts de shell.
1
Presentación y recordatorios
- Los diferentes intérpretes: Bourne Shell, Korn Shell, Bash, C Shell, Tcsh, etc.
- Disponibilidad de intérpretes en los distintos sistemas Unix.
- Puesta al día sobre la normalización (impacto en los scripts).
- Entradas GNU (gawk, gsed...).
- Diferencias entre Bourne Shell/Korn Shell/Bash.
2
Programación de guiones
- Herramientas de desarrollo.
- Mecanismo de ejecución de scripts.
- Reglas de búsqueda de pedidos.
- Principios de ejecución de comandos (exec, pipeline, subshell, background, etc.).
- Principios de ejecución de guiones.
3
Mecanismos básicos
- Lectura y análisis de la línea de comandos.
- Ampliación de llaves, desarrollo de la tilde, sustitución de parámetros.
- Sustitución de órdenes y evaluación aritmética.
- Procesos de escape (normalización).
- Redirecciones (entrada y salida estándar, archivos, tubos, documentos en línea).
4
Funcionamiento interactivo
- Invocación del shell (opciones).
- Los diferentes archivos de puesta en marcha.
- Conceptos de entorno (variables, alias, funciones).
- Historial de pedidos y retirada.
- Control del trabajo.
- Terminación del sustantivo.
- Terminación de la concha.
5
Creación de scripts de shell portables (ksh/bash)
- Interfaz shell-script.
- Estructuración de un shell-script. Nociones de subshell.
- Llamar a un intérprete de comandos: los diferentes métodos. Opciones disponibles. Más información sobre el entorno. Opciones y argumentos.
- Preámbulo del shell-script: ¿quién interpreta el shell-script? Comentarios sobre este artículo.
- Parámetros de posición (inicialización, guardado, desplazamientos).
- Variables locales. Variables globales.
- Declaración y visibilidad de las funciones.
- Salida Shell-script. Función de salida. Convenciones utilizadas. Valor de retorno. Encadenamiento de scripts de shell.
- Estructuras de control de Shell: comandos simples, canalizaciones, listas de canalizaciones.
- Comandos compuestos, subshells y funciones. Mecanismos de selección e iteración. Menús.
- Entradas/salidas. Interacción con el sistema. Argumentos de la línea de comandos.
- Operaciones de prueba. Complementos en instrucciones. Redirección local en ficheros de órdenes.
6
Robustez, depuración
- Robustez del shell-script: comprueba la inicialización de variables.
- Gestión avanzada de argumentos de línea de comandos (getopts).
- Pruebas sobre el tipo de variables (expr). La función eval.
- Gestión de señales.
- Nombrar y borrar archivos temporales.
- Caso especial de ejecución de un shell-script mediante cron (el crontab).
- Depuración de un shell-script: comandos de depuración.
- Señales de rastreo. Registro.
- Registro.
7
Extensiones Korn Shell y Bash
- Tablas de variables.
- Anotaciones específicas.
- Operaciones aritméticas.
- Alias rastreados.
- Noción de coprocesos.
- Comandos internos específicos.
8
Herramientas adicionales (grep, find, sed, awk)
- Herramientas que te ayudarán a crear scripts: grep y find.
- Expresiones regulares: herramienta grep.
- Búsqueda y tratamiento de archivos: herramienta de búsqueda.
- Sed: principios y aspectos de los scripts. Comandos sencillos de búsqueda, sustitución e inserción.
- Manipulación de flujos de texto con sed. Visión general de los comandos avanzados.
- Elementos generales de programación con awk. Uso de variables y funciones.
- Ejemplos completos de scripts awk (estadísticas del sistema, cálculos, etc.).
- Presentación de las funciones integradas de awk: matemáticas, tratamiento de cadenas, interacción con el sistema, etc.