¿Qué es Bash Script?
Bash (acrónimo de Bourne-Again Shell) es un intérprete de comandos y lenguaje de programación integrado que corre bajo el macroprocesador Shell de Unix.
Este programa ejecuta una a una las órdenes que el usuario pone en una ventana de texto o las que se encuentran contenidas en un script o bash script (archivo con todas las instrucciones), para luego devolver los resultados.
Bash fue diseñado por Stephen Bourne en 1977 y tuvo su primera aparición en Unix v7. Doce años más tarde, en 1989 Brian Fox desarrolla Bourn-Agail Shell para usarse en el proyecto GNU como intérprete de comandos estándar, y continúa actualizándolo hasta 1993 con la ayuda de Chet Ramey, quien creó muchos de los arreglos y nuevas características del programa.
¿Qué es un Script?
Pues para definirlo de forma sencilla, un script es simplemente un archivo de texto, en el que se han escrito una serie de comandos para shell. Es por eso que su nombre viene del término inglés script, que significa guion.
Estos archivos de texto ejecutan las órdenes de forma secuencial (de arriba hacia abajo) y en esencia sirven para que podamos escribir en él todo lo que necesitamos hacer. Solo con ejecutarlo, se realizarán las instrucciones que hayamos especificado
Son muy comunes cuando se trata de montar pequeños programas que realizan tareas repetitivas: listar, directorios, hacer backups, cambiar permisos, comprimir, archivar y un largo etcétera.
Los scripts se pueden crear con editores de texto tipo VIM o Nano, y los de Bash pueden identificarse si incluyen #!/bin/bash en la primera línea. La extensión es .bs para estos archivos.
¿Para qué es útil Bash Script?
Los Bash Script son extremadamente útiles. Su principal función es la automatización y estos son algunos de sus beneficios:
- La utilidad principal de Bash Script es ayudarte a ahorrar tiempo, puesto que te permite realizar tareas repetitivas, tantas veces como desees.
- Los scripts pueden ser ejecutados mediante tareas cron.
- Proporciona una secuencia de actividades bien estructurada, modular y formateada.
- Permite facilitar valores dinámicos a los comandos, mediante el uso de argumentos de línea de comando.
- Simplifica comandos complejos o múltiples comandos en una sola línea o unidad de ejecución.
- Aporta mayor facilidad para la depuración de comandos.
- Permite una mayor transparencia, ya que son mucho más sencillos de analizar y revisar.
Primeros pasos en Bash
Antes de nada, para comenzar a dar tus primeros pasos en Bash Script debes conectarte mediante SSH a tu hosting.
Una vez dentro, puedes consultar las opciones disponibles para Bash escribiendo el siguiente comando:
dominio-ejemplo@servidor:~$ man bash
A continuación se mostrarán las opciones del manual, como se ve a continuación:
Estas opciones te resultarán muy útiles sobre todo si no tienes conocimientos previos.
Para crear tu primer script, tienes que usar un editor de texto como VIM (Vi IMproved) ) o NANO (GNU nano). En este ejemplo usaremos VIM:
Ejecutamos la siguiente instrucción, y pulsamos Intro:
dominio-ejemplo@servidor:~$ vim mi_primer-script.sh
De esta forma estaremos editando el contenido de nuestro script mi_primer_script.sh:
Pulsamos la tecla i para entrar en el modo de edición y poder escribir, y abajo se mostrará INSERT, que nos indica que hemos pasado a modo ‘inserción’.
Ahora, en la primera línea, escribimos una línea con la que debe comenzar siempre todo script:
#!/bin/bash
Ahora ya podemos incluir las instrucciones que queremos que se ejecuten.
Vamos a ilustrarlo con algunos ejemplos muy sencillos:
- Este script solo mostrará por pantalla el clásico ¡Hola mundo!
$ cat mi_primer-script.sh #!/bin/bash echo ¡Hola mundo! :-)
- Si queremos que al ejecutar el script se puedan mostrar los directorios y archivos de mi hosting, podemos indicar:
$ cat mi_primer-script.sh #!/bin/bash ls -lah
Si queremos que se muestre el espacio ocupado, escribimos esto
$ cat mi_primer-script.sh #!/bin/bash du --max-depth=1 -h
Una vez escritas las instrucciones que queremos incorporar al script, pulsamos:
- ESC para salir del modo edición de Vim
- Luego W para guardar lo que hemos escrito
- Por último Q para salir.
Comprobamos que se ha creado el archivo:
$ ls -lat -r
-rw-r–r– 1 dominio-ejemplo dominio-ejemplogrp 33 Feb 4 12:40 mi_primer-script.sh
¿Cómo ejecuto mi Script?
Debemos darle permisos de ejecución, o nos mostrará un error que indica que los permisos son insuficientes:
$ chmod +x mi_primer-script.sh
Comprobamos que ahora el fichero tiene permisos de ejecución:
-rwxr-xr-x 1 dominio-ejemplo dominio-ejemplogrp 33 Feb 4 12:44 mi_primer-script.sh
A continuación, ejecutamos el script y comprobamos que funciona:
Podemos hacerlo de dos formas diferentes:
- Usando el comando sh:
$ sh /ruta/mi_primer-script.sh
- o bien, si nos encontramos en el mismo directorio:
$ ./mi_primer-script.sh 127M ./www 4.0K ./.ftp-users 4.0K ./.cuentas 196K ./logs ...
Ten en cuenta que puedes configurar tareas programadas en las que programar que tu script se ejecute en el momento que tú elijas.
si quieres conocer mas sobre este tema selecciona el siguiente botón para acceder aun curso en cual podrás aprender mas sobre este tema.
Que aprenderás:
- Conseguir e instalar LinuxEntender la estructura y sintaxis de los comandos de Linux
- Obtener ayuda rápida de cualquier comando del sistemaAdministrar sus archivos y carpetas de forma rápida y efectiva
- Usar todas las herramientas que nos ofrece el intérprete de comandos para ser más eficaces utilizando Linux
- Comprender y manejar conceptos como las rutas del sistema de ficheros, tanto relativas como absolutas
- Crear usuarios y asignarles permisos y contraseñas
- Instalar y configurar la gran cantidad de software gratuito que ofrece Linux
- Modificar los repositorios del sistema
- Utilizar comodines y atajos del sistema de ficheros
- Conocer la información que nos ofrece el prompt del sistema