BASH – Eliminar espacios en blanco sobrantes de una variable. (Espacios adelante y atras)

Eliminar los espacios por delante y por detrás, pero no por dentro, directamente dentro del script Bash, el código resultante es un poco confuso:

Al ejecutar este script el resultado que nos mostrara sera el siguiente :

Publicado en Unix - Linux | Deja un comentario

BASH – Cómo comprobar si un array de bash contiene un elemento.-

Lamentablemente no existe ninguna manera sencilla de hacerlo, pero sí que puedes utilizar la siguiente función:

Y así es como podrías utilizarlo:

Publicado en Unix - Linux | Deja un comentario

BASH – Manejo de cadenas de texto.

A veces se encuentran ciertas limitaciones a la hora de escribir scripts de shell en el manejo de cadenas y es que, muchas veces, nos olvidamos de que bash tiene un montón de operaciones sobre strings. Por ejemplo:

Otra cuestión donde no es difícil cometer errores es en las comparaciones; al no ser bash un lenguaje tipado, ciertas construcciones pueden dar lugar a errores que pasan desapercibidos y llegan a ser difíciles de detectar. Así que recordemos:

El operador de comparación es =, no -eq.
== es sinónimo de =
El operador “distinto de” es !=
Ejemplos:

Pero, con dobles corchetes, el funcionamiento es distinto (pattern matching):

Si las expresiones son compuestas, se pueden usar los operadores -a (y lógico) y -o (o lógico). Y, sólo en el caso de usar dobles corchetes, sus “casi” equivalentes && y || o

Publicado en Unix - Linux | 4 comentarios

BASH – Usar ficheros de plantillas (templates) con Bash Script.-

Si tenemos ficheros de plantillas en los que hemos definido algunas variables y queremos obtener el fichero tras aplicar la sustitución de las variables, podriamos emplear el comando “eval” de la siguiente manera.

Por ejemplo, podriamos tener un fichero de plantilla llamado “saludo.txt”

Hola $NOMBRE, estamos muy agradecidos de que lea el Blog $BLOG

Ahora desde un script de shell podriamos leer este fichero y aplicar una sutitucion de variables de una manera similar a la siguiente:

Si no lo conociais el comando “eval” nos puede servir por ejemplo para evaluar una expresión de cadena y proceder a su ejecución en la shell, por ejemplo:

eval “ls -l” nos saca un listado de los archivos.

Pero como eval parte de una expresion construida a base de strings, ya os podeis imaginar que puede hacer bastantes cosas interesantes en la programación de bash.

Publicado en Unix - Linux | Deja un comentario

BASH – Script ejemplo array asociativo.-

Para poder trabajar con arrays asociativos, se debe tener instalado version 4 o superior de BASH :

Al ejecutra este script, nos mostyrara el siguiente resultado

Publicado en Unix - Linux | Deja un comentario