Introducci贸n a Bash Scripting

Contenido

驴Qu茅 es Bash Scripting?

Bash Scripting es la pr谩ctica de escribir secuencias de comandos (scripts) en el lenguaje de programaci贸n Bash. Bash es un int茅rprete de l铆nea de comandos que se ejecuta en sistemas operativos basados en Unix, como Linux y macOS.

Los scripts de Bash son archivos de texto que contienen comandos de shell y otros elementos de programaci贸n, como variables, estructuras de control de flujo y funciones. Estos scripts pueden ser ejecutados en una terminal o desde un archivo ejecutable, lo que permite la automatizaci贸n de tareas y la creaci贸n de programas personalizados.

Bash es una herramienta poderosa para la automatizaci贸n de tareas y la administraci贸n de sistemas. Los scripts de Bash pueden ser utilizados para realizar una amplia variedad de tareas, como la gesti贸n de archivos y directorios, la automatizaci贸n de tareas de mantenimiento, la creaci贸n de programas personalizados, la manipulaci贸n de datos, y mucho m谩s.

Aprender Bash Scripting es una habilidad valiosa para cualquier persona que trabaje con sistemas operativos basados en Unix, y puede ser una forma eficiente de realizar tareas de administraci贸n del sistema y automatizaci贸n de tareas.

Historia de Bash

Bash (Bourne-Again SHell) fue desarrollado por Brian Fox en 1987 como una alternativa de c贸digo abierto al shell original de Unix, el Bourne shell (sh), desarrollado por Stephen Bourne en 1977. Bash fue desarrollado inicialmente para el proyecto GNU, una iniciativa para desarrollar un sistema operativo completamente libre basado en Unix.

Bash se convirti贸 en el shell predeterminado en muchas distribuciones de Linux debido a su capacidad para ejecutar la mayor铆a de los comandos de Bourne shell, as铆 como de shell C y Korn (ksh). Tambi茅n inclu铆a muchas caracter铆sticas nuevas, como historial de comandos, finalizaci贸n de nombres de archivo y directorio, y la capacidad de ejecutar scripts de shell.

Desde su lanzamiento inicial, Bash ha evolucionado significativamente a trav茅s de m煤ltiples versiones, cada una con nuevas caracter铆sticas y mejoras en el rendimiento y la seguridad. En la actualidad, Bash es uno de los shells de l铆nea de comandos m谩s populares en sistemas operativos basados en Unix, y se utiliza ampliamente en la automatizaci贸n de tareas y la administraci贸n de sistemas.

Entornos de Bash

Bash es un shell de l铆nea de comandos que se ejecuta en sistemas operativos basados en Unix, como Linux y macOS. Como tal, se puede acceder a Bash desde varios entornos y aplicaciones, desde terminales y IDEs hasta servidores remotos y scripts de automatizaci贸n. Esto lo hace una herramienta vers谩til para la automatizaci贸n de tareas y la administraci贸n de sistemas.

  • Terminal

La forma m谩s com煤n de interactuar con Bash es a trav茅s de la terminal del sistema operativo. En la mayor铆a de los sistemas operativos basados en Unix, se puede abrir una terminal desde el men煤 de aplicaciones o mediante una combinaci贸n de teclas. Una vez abierta la terminal, el usuario puede ingresar comandos de Bash y ejecutar scripts de shell.

  • Entornos de desarrollo integrados (IDE)

Muchos IDEs de programaci贸n incluyen una terminal integrada que permite a los desarrolladores interactuar con Bash y ejecutar scripts de shell directamente desde el IDE. Algunos ejemplos de IDEs que incluyen una terminal integrada son Visual Studio Code, Atom y Sublime Text.

  • Servidores remotos

Bash tambi茅n se puede ejecutar en servidores remotos a trav茅s de una conexi贸n SSH. Una vez conectado a trav茅s de SSH, el usuario puede interactuar con Bash y ejecutar scripts de shell en el servidor remoto.

  • Scripts de automatizaci贸n

Bash se puede utilizar para escribir scripts de automatizaci贸n que se ejecutan en segundo plano. Estos scripts se pueden programar para ejecutarse en horarios espec铆ficos o en respuesta a ciertos eventos. Por ejemplo, un script de Bash puede monitorear el uso de la CPU y enviar una alerta si la carga del sistema es demasiado alta.

Bash se puede ejecutar en una variedad de entornos y aplicaciones, desde terminales y IDEs hasta servidores remotos y scripts de automatizaci贸n. Esto lo hace una herramienta vers谩til para la automatizaci贸n de tareas y la administraci贸n de sistemas.

Lectura recomendada

Link de Compra en Amazon: 
馃洅 https://amzn.to/4iJpXR1

Contenido del libro:

Domina el arte de las secuencias de comandos bash ofensivas. 隆Esta gu铆a es totalmente pr谩ctica y cubre c贸mo encadenar comandos, automatizar tareas, crear ataques y mucho m谩s!

Link de Compra en Amazon: 
馃洅 https://amzn.to/49RHDpK

Contenido del libro:

Al final de este libro podr谩 crear scripts de shell con facilidad.聽 Ense帽a c贸mo realizar tareas tediosas y repetitivas y convertirlas en programas que ahorran tiempo y simplifican su vida en sistemas Linux, Unix o MAC.

Qu茅 es un Script ?

Un script es un conjunto de instrucciones o comandos escritos en un lenguaje de programaci贸n que se utilizan para automatizar tareas repetitivas o para realizar una secuencia de acciones en un sistema inform谩tico.

En general, un script puede ser tan simple como una sola l铆nea de c贸digo que realiza una tarea espec铆fica, o tan complejo como una serie de programas que interact煤an entre s铆 para llevar a cabo una tarea m谩s compleja. Los scripts son muy comunes en el 谩mbito de la programaci贸n y se utilizan en una variedad de contextos, como la administraci贸n del sistema, la automatizaci贸n de tareas, la creaci贸n de p谩ginas web din谩micas, la gesti贸n de bases de datos, entre otros.

Los scripts pueden ser escritos en una variedad de lenguajes de programaci贸n, como Bash, Python, Perl, JavaScript, entre otros. La elecci贸n del lenguaje de programaci贸n depende del tipo de tarea que se est茅 realizando y de las herramientas disponibles en el sistema donde se ejecutar谩 el script, en nuestro caso, al trabajar con sistemas Linux, Bash es uno de los interpretes de comandos m谩s implementados.

Pasos para crear un Script:

  1. Crear un archivo .sh
  2. Crear el contenido del script
  3. Dar permisos de ejecuci贸n al archivo.sh

C贸mo crear un archivo con extensi贸n .sh:

Para crear un archivo con extensi贸n .sh mediante la terminal de Linux, sigue los siguientes pasos:

  • Abre la terminal y navega hasta el directorio donde quieres crear el archivo.
  • Utiliza el comando touch para crear un archivo vac铆o con el nombre que desees, seguido de la extensi贸n .sh. Por ejemplo, para crear un archivo llamado mi_script.sh, utiliza el siguiente comando:
				
					touch mi_script.sh

				
			

Otra forma de crear el archivo con extensi贸n .sh es con cualquier editor de texto como, por ejemplo, nano, vim o visual estudio code.

Para crear un archivo con el editor nano en Kali Linux, escribe el siguiente comando para abrir el editor de texto nano:

				
					nano mi_script.sh

				
			
  • A continuaci贸n, escriba su c贸digo de shell script en el archivo y gu谩rdelo presionando Ctrl + O.

  • Cuando se te pida un nombre de archivo, simplemente presiona Enter para confirmar el nombre del archivo que ya has escrito.

  • Luego, presiona Ctrl + X para salir de nano.

Partes b谩sicas de un Script:

Un script b谩sico consta de tres partes principales:

  • La l铆nea de interpretador ( #!/bin/bash ): Especificar el int茅rprete que se utilizar谩 para ejecutar el script. En Bash, la l铆nea de interpretador comienza con el car谩cter 芦#!禄 seguido de la ruta del int茅rprete. Por ejemplo, 芦#!/bin/bash禄 indica que se utilizar谩 Bash para ejecutar el script.
  • Las variables y los argumentos: Se utilizan para almacenar datos y par谩metros que se utilizar谩n en el script. En Bash, las variables se definen utilizando el signo de d贸lar 芦$禄 seguido del nombre de la variable.聽
  • Los comandos y las instrucciones: Se utilizan para realizar acciones espec铆ficas en el sistema. En Bash, los comandos y las instrucciones se escriben como l铆neas de texto en el script.聽
  • Utiliza un editor de texto en la terminal como nano, vim o code para agregar el c贸digo que deseas ejecutar en el archivo .sh. Por ejemplo, si deseas imprimir 芦Hola mundo!禄 en la terminal, agrega el siguiente c贸digo al archivo:
				
					#!/bin/bash
echo "Hola mundo!"

				
			
  • Guarda el archivo y cierra el editor de texto.

Una vez que hayas creado el archivo .sh y agregado el c贸digo que deseas ejecutar, puedes darle permisos de ejecuci贸n utilizando el comando chmod.

Permisos de Ejecuci贸n:

En Linux, el sistema operativo utiliza permisos para controlar el acceso a los archivos y directorios. Cuando un archivo es creado, no tiene permisos de ejecuci贸n por defecto. Esto significa que, aunque el usuario tenga el archivo en su sistema, no podr谩 ejecutarlo a menos que se le conceda expl铆citamente el permiso de ejecuci贸n.

Los archivos con extensi贸n 芦.sh禄 son archivos de script de shell que contienen comandos que se pueden ejecutar en una terminal o consola de Linux. Para ejecutar estos archivos, se debe conceder el permiso de ejecuci贸n. Esto se puede hacer utilizando el comando 芦chmod禄 en la l铆nea de comandos de la siguiente manera:

				
					chmod +x archivo.sh

				
			

Con esto, el archivo 芦archivo.sh禄 tendr谩 permisos de ejecuci贸n y podr谩 ser ejecutado utilizando el comando:

				
					./archivo.sh

				
			

Nota: Si no se conceden los permisos de ejecuci贸n, al intentar ejecutar el archivo, el sistema operativo mostrar谩 un mensaje de error que indica que el archivo no tiene permisos suficientes para ser ejecutado.