Shell Scripting con Bash en Linux

Nivel: Intermedio

Modalidad: Online

Estado: Publicado



¿Qué aprenderás en este curso?

Se trata de un curso teórico y práctico, donde aprenderás:

  • Los fundamentos de los scripts de la shell en Linux, sus ventajas y usos, con ejemplos prácticos.
  • El uso de variables y arreglos de la línea de comandos para aumentar la flexibilidad de los scripts.
  • La forma de parametrizar tus scripts con el uso de argumentos de línea de ordenes.
  • El comando test y el uso de expresiones lógicas dentro de tus scripts, incluyendo los operadores de comparación de texto, números, y gestión del sistema de archivos
  • Resolver operaciones aritméticas dentro de tus scripts
  • Las estructuras de control de decisión IF y CASE para gestionar la lógica de tus scripts.
  • Las estructuras repetitivas o de ciclo WHILE, UNTIL y FOR para automatizar tareas, y las sentencias break y continue
  • El uso de estructuras cíclicas para recorrer y procesar arreglos de datos
  • La sintaxis y usos más avanzados de algunas estructuras de control
  • El uso de funciones para reorganizar tu código y escribir scripts profesionales
  • La forma de parametrizar funciones mediante el paso de argumentos
  • Las diferentes formas alternativas de retornar valores desde una función
  • El curso NO incluye comandos básicos de la shell, es requisito conocer los comandos fundamentales de la línea de comandos para sacar máximo provecho al curso
Modalidad de cursado

El curso es totalmente online y asincrónico, es decir, puedes cursar a tu propio ritmo de aprendizaje en tus propios tiempos.

  • El curso se compone de video clases cortas que te van a guiar por todo el recorrido del temario, de una manera amena y diseñada para que puedas incorporar conocimientos de manera gradual.
  • Tienes una sección de preguntas y respuestas (Q&A) donde puedes consultar todas tus dudas puntuales con los temas del curso.
  • Dispones de una plataforma de mensajería privada para comunicarte con tu profesor.
  • Recibirás anuncios con cada actualización que el profesor realize en el contenido.
  • Los cursos son dinámicos, y se mantienen actualizados todos los meses. Podrás sugerir la incorporación de temas afines al contenido del curso, que serán considerados para futuras actualizaciones del mismo.
Requisitos
  • Un sistema Linux (instalado o en modo live) para realizar experimentar con los comandos vistos en el curso, y los scripts de práctica.
  • Se requieren conocimientos previos de comandos básicos de la terminal para poder entender el curso en profundidad. Si no tienes estos conocimientos, puedes tomar el curso Domina la terminal de Linux: comandos básicos de la shell donde aprenderás lo necesario.
  • Muchas ganas de aprender 🙂
¿A quién está dirigido este curso?

El curso está dirigido principalmente a:

  • Usuarios con conocimientos mínimos en sistemas operativos
  • Programadores que quieran mejorar su rendimiento mediante el uso de scripts para automatizar tareas
  • Administradores de sistemas que quieran optimizar su trabajo simplificando tareas complejas con shell scripting.
  • Usuarios de GNU/Linux quieran que ya tengan conocimientos básicos de la terminal de comandos y quieran sacarle mayor provecho.

Temario

Introducción
  • Bienvenid@s!! Notas iniciales
  • Introducción al Shell Scripting
  • ¿Por qué aprender Shell Scripting?
  • Primer script en bash
Variables y arreglos
  • Introducción a las variables
  • Comillas interpretables, no interpretables, e ingreso de datos por teclado
  • Almacenando la salida de comandos en variables
  • Almacenando el contenido de un archivo en una variable
  • Introducción a los arreglos de datos (arrays)
  • Edición del contenido de los arreglos
  • Argumentos desde la línea de comandos
Expresiones lógicas y aritméticas
  • Expresiones lógicas y el comando «test«
  • Resumen de operadores del comando «test«
  • Operadores de cadenas de caracteres (strings) y números
  • Operadores de comparación de sistema de archivos
  • Uso del comando «let» pare realizar cálculos matemáticos
  • Uso de (( )) como alternativa a «let«
  • Operadores lógicos || y &&
  • Cálculos avanzados con «bc» (*)
Estructuras de control
  • Introducción a las estructuras de control
  • Estructura IF: introducción y ejemplos
  • Uso de ELSE en una estructura IF
  • Uso de ELIF en una estructura IF
  • Otro ejemplo del uso de IF
  • Introducción a la estructura de decisión CASE
  • Ejemplo del uso de CASE para analizar el sistema de archivos
  • Introducción a la estructura de ciclo WHILE
  • Otro ejemplo del uso de WHILE: explotando una bomba!
  • Una alternativa a WHILE: la estructura UNTIL
  • Introducción a la estructura cíclica FOR
  • El comando «seq«, un gran aliado para la estructura FOR
  • Ciclando sobre elementos del sistema de archivos con FOR
  • Usando FOR para verificar si algunos sitios web están activos
  • Otra sintaxis para la estructura FOR: al estilo Lenguaje C
  • Un caso curioso y avanzado del uso de FOR al estilo C: más de una variable de control
  • Recorriendo arreglos con la estructura FOR
  • Uso de BREAK y CONTINUE en estructuras cíclicas
  • Creando bucles infinitos, y cómo romperlos con BREAK
  • Ejemplo de estructuras anidadas: un FOR dentro de otro
Funciones
  • Introducción a las funciones en un shell script
  • Parametrizando funciones con envío de argumentos
  • Variables y ámbito de validez en funciones, y uso de «local«
  • Retornando valores desde funciones mediante salida estándar
  • Retornando valores desde funciones: alternativas con variables globales
  • Retornando exit status desde funciones: sentencia return
Otros Tópicos
  • Reordenando nuestro script: reescritura de nuestra calculadora con «eval«
  • Reordenando nuestro script usando diferentes archivos

Los items marcados con (*) se encuentran en etapa de elaboración.


El curso es tuyo!! La intención es que te sirva para mejorar tus habilidades laborales, por lo que, si tienes sugerencias sobre temas agregar o quitar del temario propuesto, no tienes mas que escribirnos!


¿Preguntas? ¿Comentarios?

Si tenés dudas, o querés dejarnos tus comentarios y consultas, sumate al grupo de Telegram de la comunidad JuncoTIC!
¡Te esperamos!