En este primer artículo mío, como nuevo colaborador de Somos Binarios, os voy a hablar de Bash. El intérprete de shell script más utilizado. Bash os puede servir para crear pequeños scripts que agilicen el día a día de cualquier usuario de Linux, tanto avanzado como amateur.
¿Qué es un parámetro?
Cuando ejecutamos un programa, en una línea de comandos, los argumentos es lo que el programa necesita para que funcione correctamente, estos argumentos, es lo que se llama oficialmente parámetros.
Un ejemplo claro, cuando hacemos un ls –lia, ls es el “programa/comando” que ejecuta, y l, i, a, son 3 parámetros que le pasamos al ls para decirle qué opciones y cómo debe ejecutarse esa orden, así como los resultados que queremos obtener con ella.
¿Cómo se ejecuta un código en Bash?
Primero de todo creamos el archivo, por ejemplo, usando un “nano mundo.sh”
En su interior, escribimos en este caso un echo “Hola Mundo” y lo guardamos.
Para ejecutarlo, escribimos en la línea de comando ./mundo.sh y nos ejecutará nuestro primer programa.
¿Cómo empiezo un programa que valga la pena?
Queremos hacer un programa, que sirva para algo, estamos cansados de tantos hola mundo, y tantas tablas de multiplicar que al final no nos acaban sirviendo para nada, solo para conocer código, pero queremos ir más allá y aprender a hacer nuestras propios programas con un poco de vida por ellos mismos.
Primero de todo, hemos de plantearnos qué nos interesa hacer.
Una vez tengamos qué queremos hacer, hemos de plantear el código, es decir, a parte de las instrucciones que vamos a usar, cuantos parámetros le hemos de pasar, y que pasa si esos parámetros no están pasados.
En este caso, vamos a hacer un programa útil en una empresa, por ejemplo, que le digamos una ruta, y un conjunto de letras, y muestre todos los archivos que contengan ese contenido o que tengan ese tipo de archivo, es decir, un buscador autómata que trabaje por él sólo.
Quedaría de la siguiente manera:
#!/bin/bash
# (C) JAS 2015
Error(){
echo "Error. Pon los parámetros bien"
echo "El programa funciona así: "
echo "nombre_script.sh nombre_directorio nombre_archivo"
}
if test $# -lt 2
then Error
elif test -d $1
then
cd $1
file * | grep $2
fi
El ejemplo de ejecución sería el siguiente:
Espero que os haya gustado mi primera entrada y si queréis indagar en más profundidad os recordamos la guía completa de bash que tenemos desde hace tiempo en Somos Binarios.
3 comentarios en “Creando un script en Bash con parámetros”
Agustí Montes
Gran primera entrada, Jordi, te iré leyendo 😀
A ver si puedes ponerme un ejemplo de cómo hacer que un script se ejecute cada vez que inicio sesión… creo que había un fichero en mi home para eso, pero se me olvidó cual era…
¡Gracias!
SomosBinarios
Si mal no recuerdo debes añadir el código al archivo .bashrc que es un archivo oculto que está en el propio home de cada usuario
Un saludo
Agustí Montes
Ése era el fichero, es verdad 😀
Es el fichero que se ejecuta cada vez que inicias sesión, siempre se me olvida cual es, gracias 🙂