Crea tu primer comando en Bash

Una de las muchas ventajas que tienen las computadoras con Linux o sistemas operativos similares (basados en Unix) es el poder de su terminal. Si bien, cualquier terminal o línea de comandos en algún inicio podría parecernos la cosa más aterradora del mundo, esta es en esencia solo una disposición de un programa conocido como “Shell”, el cual utiliza la terminal para poder recibir instrucciones del usuario y dar respuesta a lo que sea que estas instrucciones tengan como salida. En los sistemas operativos de tipo Linux o macOS el programa de tipo shell que se utiliza lleva por nombre Bash.


Bash es un intérprete y procesador de comandos, éste permite ejecutar comandos y/o leerlos desde un archivo (lo que ya nos suena un poco a un lenguaje de programación). Bash desde un inicio se presentó como un shell poderoso debido a que extiende algunas funciones de su sucesor bourne shell el cual también es un intérprete de comandos para sistemas operativos de la familia Unix, esto le hace posible a Bash ser compatible y ejecutar scripts de tipo sh.

Hay muchas cosas que se pueden hacer con el intérprete de comandos (bash en sí), si alguna vez sientes curiosidad de averiguar qué es lo que hace algún comando dentro de la terminal, sería buena idea que aprendieras a utilizar las “man pages”, manuales con documentación referente a cada comando en específico (si no sabes cómo comenzar “man man” también es un comando válido, el manual de manuales).

En fin, cualquier máquina con Linux tiene ya por defecto algunos comandos que nos son útiles para manipular archivos y hacer todo tipo de cosas indispensables para desplazarse e interactuar dentro del sistema operativo. Bash resulta ser muy conveniente como lenguaje de programación, ya que nos facilita la creación de scripts con programas que se pueden acceder rápidamente desde la terminal a partir de un comando que nosotros definamos. Es muy sencillo agarrar la onda de como funcionan los scripts con bash, aquí te doy una pequeña introducción:

Crea tu propio comando

Para comenzar, lo único que tienes que saber son algunos de los comandos básicos de la terminal en Linux y contar con un editor de texto (vim, gedit, nano, emacs..).
El lugar donde están almacenados todos los comandos del sistema esta en la carpeta root de “bin”. Ya que estemos en bin, creamos un archivo con el nombre que queramos que tenga el comando (para este ejemplo yo use el nombre “catsay”). Con gedit lo que se prentende hacer, es crear y editar el archivo. La secuencia de comandos es la siguiente:
cd /bin/
sudo gedit catsay

NOTA #1: Como bin es una carpeta que esta en root (/), lo más probable es que tengas que correr algunos de estos comandos iniciando con un comando “sudo”.


NOTA #2: Si no tienes gedit, puedes instalarlo escribiendo “sudo apt-get install gedit” desde tu terminal o utilizar un editor de texto alternativo a este.

Dentro del archivo agregamos lo siguiente:
#!/bin/bash
Esta sentencia lo que hace es especificar el intérprete de comandos que queremos que procese el script, como puedes ver, aquí estamos llamando al intérprete de bash.
Debajo de eso, comenzaremos a escribir los comandos de nuestro programa. Vamos a hacer un comando sencillo que recibe texto e imprime algo en la terminal, para ello vamos a usar el comando “echo” y la variable “$1”.
 Echo lo que hace es imprimir texto en pantalla y con “$1” estamos indicando que se va a utilizar el segundo argumento de la línea (esto nos va a traer el texto que se encuentre justo después del comando). Al final, nuestro script queda así:
#!/bin/bash
echo "
________
/_/ | $1
( o.o ) __ /
> ^ < "
El script está listo, por último debemos cambiar los permisos de ejecución del archivo, ya que por defecto estos no están fijados para los distintos tipos de usuarios. Aquí abajo te dejo dos maneras de hacerlo, una es usando letras y otra de manera numérica, lo que se logra con esto básicamente es dar permisos de ejecución a cualquier tipo de usuario.
sudo chmod a+x catsay
sudo chmod 711 catsay
¡Listo! Eso es todo, ahora tienes un comando personalizado que trabaja escribiendo en terminal “catsay”, el cual recibe un parámetro y puede ser accedido desde cualquier directorio.

Comando en acción

Espero que esta información te haya sido útil, recuerda que puedes hacer scripts para escribir en otros archivos, facilitar la ejecución de tareas repetitivas, ahorrarte el escribir un comando largotote, ejecutar programas, y cualquier otra cosa que se te ocurra.
Los scripts en bash también soportan el uso de variables, condicionales, funciones, ciclos y demás. En referencias te dejo un documento en español donde puedes averiguar mas al respecto.

Referencias:

TechWo

Comunidad formada por mujeres y hombres generadores de…

Thanks to Ybom LittleCar. 

Deja un comentario

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

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Más info

aceptar