Que es Bash Script

Comandos Linux: primeros pasos en Bash Script

|

Tiempo de lectura: 3 minutos

Actualizado el viernes, 27 octubre, 2023

Bash Script es el intérprete de comandos que te facilitará la automatización de tareas repetitivas en Linux. Vamos a explicar de forma breve y sencilla como puedes comenzar a dar tus primeros pasos con Bash:

¿Qué es Bash?

Bash (Bourne Again Shell) es un intérprete de comandos que actúa como interfaz entre el kernel Linux y los usuarios o programas. Su funcionamiento se basa en ejecutar una a una las instrucciones que introduce el usuario o que forman parte de un script, y a continuación devolver unos resultados. Bash no es una terminal, es solo una de las varias shell que hay disponibles en Unix.

¿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:

consola bash script
Manual Bash

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:

  1. ESC para salir del modo edición de Vim
  2. Luego W para guardar lo que hemos escrito
  3. 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. Esperemos que esta guía de primeros pasos en Bash Script te haya resultado de utilidad.

¿Utilizas Bash Script? ¿Cuáles son tus comandos favoritos? ¡Cuéntanoslo en los comentarios! Estaremos encantados de leerte 🙂


Avatar de Marta Mariño

Comentarios

6 respuestas

  1. Avatar de Alejandro Mesa
    Alejandro Mesa

    Muy interesante y bien explicado el efecto de cada comando 😉 Hay personas que no se sienten cómodas con la consola pero a otros como a mí nos chifla el nivel de máximo control del sistema y la rapidez en realizar tareas.

    Mi comando favorito “rsync”, que es útil para sincronizar directorios locales y remotos. Así uno no tiene que estar copiando y machacando todos los ficheros de un directorio a otro, sino que solo se lleva los cambios. Muy potente.

    Por cierto, he llegado a vuestra web desde la web de Colegio de Profesionales en Ing. Informática y la noticia del sello “éTICa”. Buen trabajo y que sigáis así.

    1. Avatar de Marta Mariño
      Marta Mariño

      ¡Hola, Alejandro!
      Gran aporte, coincidimos contigo, rsync es un comando muy útil la verdad.

      Y muchísimas gracias también por tu felicitación. Seguiremos trabajando para ofrecer lo mejor, por supuesto, de manera ética 😀

  2. Avatar de Yosef
    Yosef

    La verdad hablando sobre todo lo que lleva un OS creo que hablar sobre este tema fue muy interesante ya que con solo plantear “porque usar bash” crea curiosidad ya que nadie sabe las diversas tareas como se ha dicho anteriormente se pueden automatizar y creo que puede ser muy util todo lo que aparece aquí ademas con la explicacion que muy bien!!!

    1. Avatar de Marta Mariño
      Marta Mariño

      ¡Gracias Yosef por tu comentario! Genial que te haya parecido un contenido útil, nos esforzamos para que así sea 😀

  3. Avatar de Angelo
    Angelo

    Hola que tal, un favor, tienes algún manual del comando rsync, donde pueda realizar en Ubuntu?

    1. Avatar de Marta Mariño
      Marta Mariño

      ¡Hola, Angelo!
      Actualmente no tenemos un manual, pero siempre puedes consultar la ayuda de rsync con el comando man rysnc.

      Gracias de todas formas por consultarnos 🙂

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Newsletter

Suscríbete y recibe periódicamente consejos muy útiles para tu web y ecommerce 🙂 Además, te regalamos
3 guías
: Digitalización, WordPress y Ciberseguridad.

Conviértete en afiliado

Gana dinero recomendando dinahosting a todo el mundo.