Más allá de tratarse de un intérprete de comandos entre el núcleo (kernel) del sistema operativo y el usuario, el Shell es un potente lenguaje de programación que permite escribir scripts que integran, entre otros, utilidades, herramientas, llamadas al sistema y binarios compilados, mediante lo cual nos es posible desarrollar aplicaciones y/o robustecer ya sea tareas administrativas del sistema operativo en un servidor, o procesos repetitivos específicos del usuario sin tener propiamente la necesidad de otro lenguaje de programación. 
Este entrenamiento se enfoca en el Shell scripting en la plataforma UNIX debido a su amplia presencia en servidores productivos en la industria.

· A quien va dirigido:

Este entrenamiento es ampliamente recomendado para: 
  • Desarrolladores que desean descubrir las bondades del Shell como herramienta útil en la creación de aplicaciones y como facilitador de tareas extensas y repetitivas.
  • Desarrolladores que desean adquirir la capacidad de escribir scripts potentes y sencillos a la vez. 
  • Administradores de servidores UNIX que desean incrementar su productividad optimizando de manera fácil y confiable sus tareas.

Queremos que aprendas un lenguaje sencillo y a la vez robusto para que puedas optimizar muchas tareas que actualmente tu equipo y tu realizan en alguna otra plataforma o lenguaje, lo cual naturalmente incrementará tu productividad. 

· Temario del entrenamiento:

  • El sistema operativo UNIX.
    • Características.
    • Usuarios. 
    • Estructura de archivos.
    • El Kernel y el Shell. 
      • Tipos de Shell. 
  • Shell básico. 
    •  Variables y operadores. 
      • Escape y referencias. 
    • Gestionando la terminación del script.
    • Ciclos y estructuras de control. 
    • Operaciones aritméticas 
  • Comandos internos básicos.
    •  Entrada / Salida.
    • Estructura de archivos.
    • Manejo de variables.
    • Comportamiento del script.
  • Comandos, filtros y programas externos.
    • Hora y fecha.
    • Procesamiento de texto. 
    • Gestión de archivos.
    • Comunicación.
    • Control de la terminal. 
    • Matemáticos. 
    • Comandos de sistema y/o administrativos. 
    • Crontab.
  • Shell avanzado. 
    • Funciones.
    • Arreglos.
    • Subshells. 
    • Expresiones regulares.
      • awk.
      • sed.
    • Debug. 
    • Programación en red.
  • Recomendaciones. 
  • Ejemplos prácticos. 

· Pre-requisitos:

Necesarios: 
  • Manejo de un editor de textos.  
  • Conozca las funciones básicas de un sistema operativo.
  • Conozca los elementos de la programación estructurada. 
Recomendable: 
  • Manejo de la terminal de comandos de un sistema operativo. 
  • Conozca el sistema operativo UNIX.