Shell Scripting con Bash en Linux
What you'll learn
- 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 filesystem
- 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
Requirements
- Un intérprete Bash (por ejemplo, una terminal de 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. .
- Muchas ganas de aprender :-)
Description
Bienvenidos al curso de Shell Scripting con Bash en Linux!
Este curso está diseñado para llevar tus habilidades en Linux al siguiente nivel mediante la automatización de tareas repetitivas y la creación de scripts eficientes y poderosos.
Ya seas un usuario básico de la terminal de Linux que quiere profundizar sus conocimientos, o un profesional experimentado que desea mejorar sus habilidades y explotar al máximo el potencial de la terminal de comandos, este curso es para vos.
Este curso te ayudará a exprimir el potencial de la terminal escribiendo scripts, archivos de procesamiento por lotes, para automatizar tareas, realizar cálculos, y resolver problemas más complejos que aquellos que podrías resolver combinando comandos simples.
¿Qué incluye este curso?
Este curso incluye una introducción a los scripts de la shell, particularmente para Bash, aunque en su mayoría son compatibles con cualquier intérprete de comandos (sh, zsh, dash, etc).
El curso se divide en las siguientes secciones temáticas:
Introducción: veremos las ventajas de usar shell scripts, y escribiremos nuestro primer script en bash!
Variables y arreglos: aquí aprenderemos a trabajar con variables y arreglos dentro de nuestros scripts, herramientas sumamente útiles para resolver tareas complejas y cálculos aritméticos. También introduciremos el uso de argumentos de línea de comandos para parametrizar nuestros scripts.
Expresiones lógicas y aritméticas: aquí aprenderemos a utilizar el comando "test" para realizar comparaciones entre números, caracteres, y archivos, y el "let" y los paréntesis dobles para realizar cálculos matemáticos.
Estructuras de control: esta es la sección más larga del curso, y aquí veremos todas las estructuras de control disponibles en bash, con su sintaxis y ejemplos de uso. Aprenderemos a usar las estructuras de decisión "if" y sus variantes, y "case", y las estructuras cíclicas "while", "until" y "for" y sus variantes. También aprenderemos a usar las sentencias break y continue.
Funciones: aquí aprenderemos a utilizar funciones, un gran aliado a la hora de reutilizar código, evitar repeticiones y facilitar el mantenimiento de nuestros scripts.
Importante: el curso se mantendrá constantemente actualizado con nuevos recursos externos, prácticas, cuestionarios y exámenes de prueba, por lo que las secciones podrán modificarse en el futuro, añadiendo nuevas clases. Desde ya, las sugerencias que quieras hacer serán consideradas para nuevas actualizaciones.
¿Qué NO incluye el curso?
Este curso está orientado puntualmente a la programación de shell scripts, por lo que NO incluye explicaciones de comandos básicos, de cómo utilizar la terminal, ni conceptos básicos de instalación y uso de GNU/Linux.
Este curso parte de la base de que ya manejas los conceptos básicos de la terminal de comandos, sabes abrir una consola, y utilizar comandos para realizar tareas simples.
El curso está en permanente evolución, por lo que, periódicamente, publicaré nuevo contenido que pueda ayudarte a mejorar tus habilidades, y lo notificaré mediante la mensajería de la plataforma.
Te invito a sumarte al grupo de alumnos para poder acompañarte en este camino de aprendizaje!
Who this course is for:
- 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.
Instructors
Diego Córdoba es Ingeniero en Informática con amplia experiencia en administración de sistemas GNU/Linux, redes TCP/IP, programación paralela y concurrente, seguridad informática y criptografía aplicada. Su trayectoria combina sólidos conocimientos técnicos con una profunda pasión por la investigación y la implementación de soluciones basadas en software libre y de código abierto.
Se ha desempeñado como profesor universitario e investigador durante 15 años en la Facultad de Ingeniería de la Universidad de Mendoza, y su carrera ha estado ligada a la docencia, consultoría y servicios profesionales.
Su formación se complementa con una Maestría en Teleinformática, centrando su tesis en el campo emergente de la criptografía post-cuántica, estudiando implementaciones de código abierto de algoritmos criptográficos resistentes al criptoanálisis cuántico.
En la actualidad se desempeña como instructor online y presencial en JuncoTIC, academia donde es co-founder, ofreciendo cursos, capacitaciones, talleres, consultoría y servicios profesionales.
Andrea Navarro es Ingeniera en Informática con especialización en Auditoría y Seguridad Informática, y ha trabajado como desarrolladora web utilizando lenguajes PHP y Python.
Se ha desempeñado como docente universitaria, investigadora e instructora online en asignaturas de desarrollo web con PHP y Python, API REST, Inteligencia Artificial, Ciencia de datos y Diseño de base de datos.
En la actualidad se desempeña como instructora online y presencial en JuncoTIC, donde es co-founder, ofrece capacitaciones, talleres y genera contenido para su blog.