[TIP] Linux - Crear un script para ejecutar programas desde bash

[TIP] Linux - Crear un script para ejecutar programas desde bash
LINUXBASH

¡Hola! !Seguimos con Linux! En este pequeño tutorial, vamos a aprender a ejecutar ficheros desde bash en Linux.

¿Qué es bash?

Bash es un programa informático, cuya función consiste, principalmente, en interpretar órdenes. Además, está basado en el Shell de UNIX (terminal).

Planteamiento del problema: ¿Por qué crear el script?

Muchas veces, descargamos los programas que vamos a utilizar desde una página Web y vienen ya preparados para la ejecución, es decir, que tendríamos que acceder a la carpeta donde está el programa y ejecutarlo. Este es el caso, por ejemplo, del software de Arduino para Linux.

Una vez que descargo el software de Arduino para Linux (link), en mi caso la versión de 64 bits, vemos que se ha descargado un fichero comprimido con la extensión '.tgz'. Lo tendré en mi carpeta llamada Downloads. Para acceder a él, moverlo a otra carpeta, llamada "Programas" y ejecutarlo, tendríamos que introducir los siguientes comandos por consola:

cd /home/mario/Downloadsmv arduino-1.0.5-linux64.tgz /home/mario/Programas/cd /home/mario/Programastar -xvf arduino-1.0.5-linux64.tgz /home/mario/Programas/

Ahora ya tenemos descomprimido el software dentro de la carpeta llamada "arduino-1.0.5". Dentro estará el ejecutable, llamado "arduino". Entramos dentro de la carpeta:

cd arduino-1.0.5Para ejecutar el IDE de Arduino, introducimos lo siguiente por consola: ./arduino

Aquí tenéis el resultado de ejecutar esto:

instalar arduino

Una vez descomprimido, nuestro proceso de ejecución sería el siguiente:

cd /home/mario/Programas/arduino-1.0.5./arduino

Realmente, cuanto más rápido podamos ejecutar algo, mejor, y si es en una palabra, aún mejor. Sería mucho más sencillo escribir en consola:

arduino

Y con esto poder ejecutar el programa. Esta es la razón por la que vamos a crear el script. Para poder teclear esa palabra y que se ejecute este programa. Este es tan sólo un ejemplo para mostraros algunas de las opciones que nos ofrece esta técnica, que no son pocas.

Resolviendo el problema: Creando el script.

Vamos a llamar a nuestros script "arduino", y lo vamos a mover a la carpeta con ruta "/usr/local/bin". Debemos hacer esta tarea como superusuarios:

su rootcd /usr/local/binYa estamos dentro de la carpeta que queríamos. Ahora, abriremos el editor "nano", creando el archivo "arduino": nano arduinoY veremos lo siguiente:

arduino nano 0
arduino nano

Ahora mismo, tenemos un fichero en blanco, el cual tendremos que modificar para que abra nuestro IDE de Arduino. Antes de nada, añadiremos la siguiente sentencia:

#!/bin/bash

'bash' dependerá del tipo de shell que estemos usando. Este suele ser el más común, así que será el que utilizaré. De todos modos, si queréis investigar sobre el tema, os recomiendo estos links: http://man.cx/bash, http://man.cx/sh, http://man.cx/dash.

Siguiendo con el script, ahora podríamos poner, por ejemplo, algo para que nos muestre que estamos abriendo el software de Arduino. Por ejemplo:

echo Abriendo el IDE de Arduino

Finalmente, escribiremos las órdenes necesarias para ejecutar el programa, que son las mismas que he puesto un poco más arriba:

cd /home/mario/Programas/arduino-1.0.5 ./arduinoNos quedará algo así:

arduino script

Bueno, pues ya lo tenemos casi todo listo para ejecutar el script y, por lo tanto, Arduino. Vamos a probarlo en una nueva terminal:

arduino ejecución

¿Permiso denegado?¿Necesitamos ser superusuarios? La respuesta es NO:

arduino ejecución 2

Lo que necesita el archivo son permisos de ejecución. Escribiremos lo siguiente en la terminal que estábamos usando antes: chmod +x arduinoY con esto tendría que funcionar. Vamos a probar de nuevo en la otra terminal:

arduino script ejecutar

¡Bien! ¡Ya tenemos nuestro script preparado para usar Arduino! Como ya he dicho antes, he usado el ejemplo de cómo instalar Arduino en Linux, pero sirve para cualquier otro programa. El que queráis. Poco más que decir. Espero que os haya servido y, nos vemos en otros tutoriales. Cualquier duda o comentario, aquí abajo tenéis un hueco. ¡Saludos!