Categorías
GNU-Linux Script

Crea y ejecuta tu primer script de Bash Shell

Crea y ejecuta tu primer script

Crea y ejecuta tu primer script de shell

Primero vamos a crear un nuevo directorio llamado scripts que albergará todos nuestros scripts bash.

mkdir scripts
cd scripts

Ahora, dentro de este ‘directorio de scripts’, crea un nuevo archivo llamado hola.sh usando el comando cat:

cat > hola.sh

Introduce la siguiente línea en él escribiéndola en el terminal:

echo 'Hola, Mundo'

Pulsa Ctrl+D para guardar el texto en el archivo y salir del comando cat.

También puedes utilizar un editor de texto basado en terminal como Vim, Emacs o Nano. Si estás usando un Linux de escritorio, también puedes usar un editor de texto gráfico como Gedit para añadir el texto a este archivo.

Así que, básicamente, estás usando el comando echo para imprimir «Hola Mundo». Puedes usar este comando en la terminal directamente, pero en esta prueba, ejecutarás este comando a través de un script de shell.

Ahora haz que el archivo hola.sh sea ejecutable utilizando el comando chmod de la siguiente manera:

chmod u+x hola.sh

Y finalmente, ejecuta tu primer script de shell precediendo a hola.sh con tu shell deseado «bash»:

bash hola.sh

Verás Hola Mundo en la pantalla. Ese fue probablemente el programa Hola Mundo más fácil que has escrito, ¿verdad?

Convierte tu script de shell en script de bash

¿Confuso? Ahora lo explico.

Bash, que es la abreviatura de «Bourne-Again shell», es sólo un tipo de los muchos shells disponibles en Linux.

Un shell es un intérprete de línea de comandos que acepta y ejecuta comandos. Si alguna vez has ejecutado algún comando de Linux, entonces has usado el shell. Cuando abres un terminal en Linux, ya estás ejecutando el shell predeterminado de tu sistema.

Bash suele ser el shell predeterminado en la mayoría de las distribuciones de Linux. Por eso bash es a menudo sinónimo de shell.

Los scripts del shell suelen tener casi la misma sintaxis, pero también difieren a veces. Por ejemplo, el índice del array comienza en 1 en Zsh en lugar de 0 en bash. Un script escrito para el shell Zsh no funcionará igual en bash si tiene arrays.

Para evitar sorpresas desagradables, debes decirle al intérprete que tu script está escrito para el shell bash. ¿Cómo lo haces? ¡Usando shebang!

La línea SheBang al principio del script

La línea «#!/bin/bash» es referida como la línea shebang y en alguna literatura, es referida como la línea hashbang y eso es porque comienza con los dos caracteres hash ‘#’ y bang ‘!’.

#! /bin/bash

echo 'Hola Mundo'

Cuando incluyes la línea «#!/bin/bash» en la parte superior de tu script, el sistema sabe que quieres usar bash como intérprete para tu script. Por lo tanto, ahora puede ejecutar el script hola.sh directamente sin precederlo con bash.