Te ha pasado que a veces olvidas los comandos de Linux más simples? 😵💫 A quien no, son tantos que a veces pueden ser abrumadores, el clásico ‘ls’ por ejemplo tiene tantas variantes que puede ser dificil recordarlos todos. Con que listabamos los ocultos ? con ls -l? con ls -lt ? ls -a? 😵😵
En este tutorial haremos una** lista de los comandos más últiles** que queramos tener a la mano con nuestra propia sintaxis, osea nuestra propia manera de llamarlos, los comandos pueden ser de los más básicos (pwd, ls, rm) a uso de **pipe operators **(ls -1 | wc -l).
¡VAMOS A ELLO!
cd ./
vim menu.sh
Dentro de vim comenzamos creando la estructura de nuestro menú, usaremos un while para poder iterar a través de los varias parámetros que le podriamos pasar al script, la línea ‘-n $1’ evalua que el primer parámetro que le pasemos al script sea diferente de vacío, en caso se cumpla pasamos a ejecutar la lógica dentro de ‘do’. El comando shift se utiliza para desplazar los argumentos posicionales hacia la izquierda, osea ir evaluando cada uno de los parámetros que le podamos pasar al script en bash.
#!/bin/bash#MENU PERSONALIZADO :Dwhile [ -n "$1" ]
do#menu con caseshiftdone
Y esta es la forma en la que llamamos a nuestro script, en este caso pasandole el parámetro ‘–ruta’, que se supone nos llevara al directorio de scripts de nuestro interés.
bash menu.sh --ruta
Ahora comencemos a crear la lógica para cada una de las opciones que puede tomar nuestra variable, lo haremos con ‘case’ ya que para cada valor ejecutaremos acciones diferentes:
#!/bin/bash#MENU PERSONALIZADO :D#Este es un bucle whilequese ejecutara mientras haya argumentos posicionales pasados al script. La condición [ -n “$1” ] verifica si el primer argumento #($1) no esta vacio. El bucle permite procesar cada argumento en el ciclo.while [ -n"$1" ]
do#"Esta es la construccion case que permite ejecutar diferentes bloques de codigo segun el valor del primer argumento ($1)"case$1in#Esta es la primera opcion del case. Si el valor de $1 es “ruta”, se ejecutara el bloque de codigo a continuacion.
--ruta)
#Este comando cambia el directorio actual a ‘/home/pi/MERAKIMAGIC/scripts’, lo quete lleva a la ruta de tus scripts.cd"/home/pi/MERAKIMAGIC/scripts/"echo"Estamos en la ruta de tus scripts";;
#Esta es la segunda opcion del case. Si el valor de$1 es “crear”, se ejecutara el bloque de codigo a continuacion.
--crear)
#Este comando solicita al usuario que ingrese el nombre desu script y almacena la entrada enla variable $nombre.read -p "Ingresa el nombre de tu script: " nombre
touch $nombre.js;;
# Esta es la opcion por defecto del case. Si el valor de$1no coincide con ninguna de las opciones anteriores, se ejecutara el bloque de codigo.
*)
echo"Puedes llamar a los siguientes parametros: "echo"menu.sh --ruta"" Te lleva a la ruta de scripts"echo"menu.sh --crear"" Te pide un nombre y crea un script de JS";;
esacshiftdone
Finalmente logramos ejecutarlo:
. menu.sh --ruta
. menu.sh --ruta --crear