Como Crear y Ejecutar tu Primer Script

Como Crear y Ejecutar tu Primer Script

Como Crear y Ejecutar tu Primer Script – Si tienes alguna inquietud recuerda contactarnos a través de nuestras redes sociales, o regístrate y déjanos un comentario en esta página. También puedes participar en el WhatsApp. Si usas Telegram ingresa al siguiente enlace.

Scripting en Linux (IV): Bash. Como Crear y Ejecutar tu Primer Script

Muy buenas. Ahí va otro post de la serie de Linux Scripting. Ahora que ya conoces más el entorno de bash, y la sintaxis básica del lenguaje (sino puedes revisar los primeros posts de la serie), en este post verás como crear y ejecutar tu primer script interpretable por la shell de Linux (en este caso Bash será la shell de nuestra elección).

 

Índice

1. Como crear un script SH para Bash
2. Establecer permisos de ejecución sobre fichero
3. Ejecutar script SH de forma manual
4. Continuación

1. Como crear un script SH para Bash

Para crear un script en Bash tan solo debes abrir una hoja en blando con tu editor de texto favorito, y escribir las sentencias que se deben ejecutar. Como editor de texto puedes utilizar:

  • Un editor de texto gráfico. Te puede servir perfectamente el que venga con tu entorno de escritorio (por ejemplo, Gedit en GNOME), pero puedes instalar otro más completo, como Geany.
  • Un editor de texto por consola. Si tienes cierta experiencia con el manejo de la terminal, también puedes utilizar un editor de texto por consola como puede ser Nano o Vim (este ultimo bastante más complicado de utilizar).
    Una vez seleccionado el editor, empieza el proceso de escribir el script. En mi caso, utilizaré Nano como editor de texto para construir el script, y lo guardaré en el directorio Documentos. Si quieres hacerlo como yo, tan solo tienes que abrir una ventana de terminal y ejecutar la siguiente orden.

nano Documentos/mi-primer-script.sh

Además

Esto te abrirá un fichero vacío con Nano, en la misma ventana de la terminal. Ahí ya puedes empezar a escribir el contenido del script. Si te fijas, el fichero tiene la extensión sh, indicando que se trata de un fichero con ordenes interpretables por la shell de GNU/Linux.

Como primer paso, para indicarle al sistema que la shell que va a interpretar el fichero es Bash, debes empezar siempre escribiendo esta sentencia como primera línea:

#!/bin/bash

Una vez indicada esta primera línea, ya puedes empezar a escribir el contenido en si del script. Tratándose de un primer script, voy a hacer un ejemplo sencillo, que consistirá en preguntarle al usuario si quiere actualizar el equipo, y, en función de su respuesta, ejecutar una serie de comandos para comprobar actualizaciones, e instalar los paquetes que se puedas actualizar.

Además

El script, al completo, quedaría como te muestro debajo. Como dije, en este post no me he querido centrar en el script en si, sino en el proceso completo, desde la creación, hasta establecer que se ejecuta durante el inicio del sistema.

#!/bin/bash

sudo apt update
sudo apt upgrade
sudo apt autoremove

echo «Todo bien! Hasta luego»

exit

 

Este es un script muy simple, pero ya nos sirve para el propósito de esta guía. Basicamente aplica tres comandos consecutivos que se encargan de buscar si hay actualizaciones en el equipo, instalarlas en caso de que las haya, y, a continuación, buscar paquete que ya no son necesarios, por tal de eliminarlos. El hecho de tener ese script preparado, te permite que, con solo ejecutarlo, se realicen esas tres tareas de golpe.

Además

Una vez finalizado, puedes guardar el fichero con la combinación de teclas CTRL-O. Como ya le hemos dado un nombre al principio, puedes confirmarlo con Intro, ya ya tendrás el archivo guardado con los últimos cambios. Para cerrar el fichero y salir de Nano, debes utilizar la combinación de teclad CTRL-X.

Ahora que ya tienes el script diseñado, tan solo debes guardar el fichero con un nombre, y terminarlo con la extensión sh. En mi caso, lo he nombrado como mi-primer-script.sh, y lo he guardado, de momento, en el directorio Documentos de mi Home.

2. Establecer permisos de ejecución sobre fichero

Ahora que tienes el fichero creado, si intentas ejecutarlo verás que no podrás. Esto es debido a que cualquier fichero nuevo que se crea y se ubica en el directorio personal de usuario, tiene el siguiente esquema de permisos:

– rw- r– r–

 

Esto significa que, el usuario propietario del fichero solo tiene permisos de lectura y edición sobre el archivo, mientras que el resto de usuarios solo tendrás privilegios de lectura sobre él.

Para poder ejecutar el script desde tu cuenta de usuario, debes añadir los permisos de ejecución para el propietario del fichero. El resto de permisos los puedes dejar iguales. Esto lo puedes abriendo una ventana de terminal y ejecutando la siguiente sentencia:

sudo chmod +x Documentos/mi-primer-script.sh

 

Como ves, he puesto la ruta relativa del fichero, que se encuentra dentro del directorio Documentos. Hecho esto, ya podrás ejecutar el script sin problema desde tu cuenta de usuario.

3. Ejecutar script SH de forma manual

Para ejecutar manualmente un script SH en Bash, el primer paso es abrir una ventana de terminal y situarte en la carpeta donde guardas el fichero, cosa que puedes hacer con el comando cd, seguido de la ruta (absoluta o relativa) del directorio donde se guarda.

cd Documentos

 

Una vez te has situado en el directorio correcto, que en mi caso es Documentos, ya puedes ejecutar el script de forma manual. Para ello, tienes principalmente dos maneras de hacerlo.

Por un lado, puedes hacerlo directamente a través del siguiente comando, donde únicamente se indica el nombre del script, y mediante el cual el sistema se encargara automáticamente de buscar y llamar el interprete necesario para ejecutarlo.

./mi-primer-script.sh

 

Otra opción, es especificar manualmente el interprete, antes de indicar el nombre del script. Con esto, lo que estás haciendo es ejecutar directamente el interprete (sh, python, etc) pasando luego, como argumento, el nombre del script. En nuestro caso, como queremos utilizar el interprete Bash, el comando sería el siguiente:

sh mi-primer-script.sh

 

Dentro del script, he puesto algunas sentencias con el sudo delante (ya que los comandos para actualizar el sistema requieren permisos de administrador), verás, durante la ejecución del mismo, en algún momento se te preguntarán por tus credenciales de usuario.

Otra opción es ejecutar la misma sentencia anterior con el «sudo» delante ya de entrada, para que a lo largo del script ya dispongas del token que te permite ejecutar ordenes como root.

4. Continuación

Con esta guía ya tienes el proceso general a seguir en el momento de crear y ejecutar un script con Bash. En próximos post verás como ejecutar un script de forma automática en el inicio o apagado del sistema.