Cibersecurity - Tegnology Header

1-removebg-preview-1

Aprende a programar en Bash - Curso Parte #1


Hola amigos, como se encuentran? Hoy traemos un curso de BASH scripting totalmente gratuíto.

Antes que nada, iremos subiendo el curso por 3 partes para no confundir ni juntar todo en un solo lugar.

Antes que nada nesesitamos saber que es BASH y para que nos puede servir.

Bash es un no es un lenguaje de programación como c++ o otros lenguajes populares, sin embargo podemos hacer muchas cosas dentro de el.

Tenemos que entender que BASH está presente en sistemas operativos Linux, sin importar su distribución. Y nos sirve principalmente para automatizar un proceso que haríamos en una Shell, es decir, podemos ejecutar instrucciones al sistema operativo de forma automática solamente ejecutando un archivo, acto seguido, el sistema leerá las instrucciones y las ejecutara una instrucción tras otra.

En Bash podemos ejecutar instrucciones por lotes, algo parecido a lo que podríamos hacer en Windows con archivos (.bat)

BASH, utiliza la extensión (.sh) y aquí podemos hacer infinidades de cosas dentro de el, como por ejemplo, instalar programas, correr programas automáticamente, modificar archivos del sistema, etec.


Funciones principales:



aprendamos,, algo simple, por ejemplo la impresion de mensajes y imprimir mensajes, primramente nesesitamos un editor de texto para empezar a escribir nuestras lineas de codigos, podemos utilizar diversos editores como por ejemplo nano, vim, o gedit.

yo en lo personal si estas trabajando en un entorno grafico, recomiendo utilizar gedit, debido a que es un editor grafico y podemos trabajar mas comodamente.

en caso que No tengamos un entorno grafico y queramos trabajar desde una terminal, podemos utilizar nano, yo en este curso lo mostrare con gedit.


Para instalar estos editores, nos dirigimos a la terminal como usuarios root y escribimos lo siguiente:

apt-get install nano -y && apt-get install gedit -y


Esto instalara los dos editores, ahora en mi caso como voy a utilizar gedit en entono grafico escribire el siguiente comando


gedit myprimerscript.sh



Es importante utilizar la extension .sh en los archivos, ya que es la extension nativa de este lenguaje y si no incluimos el .sh en su terminacion no podra ejecutarse el codigo.


En caso que queramos escribir el codigo en modo terminal sin utilizar gedit, solamente escribiriamos el mismo comando pero de esta forma.

nano myprimerscript.sh

Muy bien una prosigamos utilizando el editor gedit, cuando introduscamos ese comando en la terminal se nos abrira el editor.



Bien, ahora, vamos a empezar a escribir nuestro codigo, empezemos por lo basico..
al iniciar todo script en BASH se debe introducir al principio del archivo el siguiente codigo

#!/bin/bash

Este primer codigo deberan colocarlo siempre al inicio de cualquier programa que hagan en BASH, debido a que si no lo utilizan la maquina no reconocera bash como lenguaje nativo dentro del programa, por lo tanto no se ejecutara correctamente el codigo.

Luego de hacer esto, vamos a limpiar la terminal y imprimir un mensaje de bienvenida.

Podemos utilizar dos instrucciones para imprimir mensajes las cuales son printf y echo
les dare un ejemplo practico de esto.


printf "Hello WORLD, este es mi primer script\n"


El printf es la instruccion para imprimir el mensaje, seguidamente entre las comillas especificamos el texto y el atributo  \n Significa que hara un salto de linea hacia abajo.


Si no especificamos \n en la instruccion printf, seguira siempre en la misma linea y no se vera bien el mensaje en la terminal en caso que el mensaje sea extenso.


Sin embargo esto no sucede con la instruccion echo, ya que con esta instruccion no es nesesario especificar ese parametro, siempre que imprime el mensaje salta una linea mas

abajo, un ejemplo de como podriamos hacerlo:


echo "Hello WORLD, este es mi primer Script"

En mi caso yo siempre utilizo la instruccion printf, debido a que es mas personalizable al agregarle color a los textos, sin embargo ustedes pueden utilizar cualquiera de las dos instrucciones.

Adjuntare una imagen de como quedaria nuestro codigo hasta el momento:




Ahora voy a compartirles una funcion muy util que esta presente en bash la cual se llama sleep

esta funcion sirve para indicar un tiempo de espera entre una instruccion y otra. Por ejemplo si queremos imprimir varios mensajes en la terminal y que estos mensajes no se impriman instantaneamente, podemos especificar el tiempo con esta instruccion, indicada en segundos.

Ejemplo

sleep 10


La instruccion de arriba indica 10 segundos de espera para pasar a la proxima instruccion que contenga nuestro script, vamos a poner un ejemplo en nuestro codigo:




Bien ahora, pasemos al uso de variables, como podemos pedir al usuario variables de lectura y despues imprimir esa variable en un mensaje, ya sea con echo o printf.


Muy simple para pedir un valor de lectura, se especifica el parametro


read variable_lectura

 

Esta instruccion pedira al usuario que ingrese cualquier valor, ya sea texto o numero, al escribir el valor, este quedara guardado en esta variable, y seguidamente despues podemos imprimir el valor que escribimos en un mensaje.

les dare un ejemplo:


para hacer referencia a la variable que pusimos arriba, debemos especificarlo de la siguiente manera


echo "Hola aca imprimo el valor $variable_lectura"


Un ejemplo de esto, vamos al codigo en la imagen:




Y listo amigos, asi de sencillo es imprimir variables en un mensaje, vamos a ejecutar el codigo, guardamos y lo ejecutamos con el comando


bash myscript.sh


 el resultado seria el siguiente:



Como ven asi de sencillo es utilizarlo, en los proximos tutoriales estaremos viendo como personalizar nuestros mensajes con colores, tambien veremos el CICLO FOR y veremos como ejecutar instrucciones del propio sistema dentro de nuestro script.

Si tienes alguna duda o te ha servido, dejame un comentario aqui mismo, un saludo:

Autor: Facu Salgado