Script – Matriz multidimensional en Bash.-

Una matriz multidimensional es un elemento muy importante para cualquier programa. Se utiliza principalmente para crear una vista de tabla de los datos y para muchos otros fines.

Este es el método más básico para crear una matriz multidimensional. En nuestro ejemplo a continuación, crearemos una matriz bidimensional muy básica.

A continuación, se muestra el código de nuestro ejemplo.

El código anterior muestra que declaramos dos matrices diferentes llamadas ArrayOfArray_1 y ArrayOfArray_2. Después de eso, declaramos nuestra matriz principal, cuyo elemento son estas dos matrices que declaramos recientemente.

Luego calculamos la longitud de la matriz para un bucle. Dentro del bucle, extraemos los datos de estos dos subconjuntos indexando el conjunto principal.

Por último, nos hacemos eco del resultado final. Después de ejecutar el script, obtendrá un resultado como el que se muestra a continuación. Al ejecutar este script, obtendremos lo siguiente :

Publicado en Unix - Linux | Deja un comentario

Script – Pasar un array como argumento de una función en Bash.-

O también puede ser, pasárselo por referencia. Es más entendible :

Al ejecutarlo obtendríamos lo siguiente :

De todas maneras, en ninguno de los casos le pasas el array como parámetro. En el primer SCRIPT, desempaquetas el array enfrente de tu función, y le pasas los elementos separados por un espacio; en el segundo SCRIPT, le pasas el nombre de la variable; ya adentro, el nombre se expande y se le referencia a esa otra variable externa para que pueda ser manipulada indirectamente.

Publicado en Unix - Linux | Deja un comentario

BASH – Matemáticas para tus scripts en BashBASH.-

Publicado en Unix - Linux | Deja un comentario

BASH – Plugin NAGIOS «monitoreo de procesos» (Tips para NagiosQL).

En NagiosQL, al definir un servicio a monitorear, especificamente al ingresar un argumento, no permite poner espacios en blanco. Esto da un error al ejecutar el proceso, ya que al encontrar espacios en blanco, asume que es un nuevo argumento. Para solucionar esto se debe definir uno o varios caracteres que indicaran que corresponde a un espacio en blanco y luego en el SCRIPTS ubicado en el equipo a monitorear. Para este ejemplo, definire que la cadena «-b-» corresponde a un espacio en blanco. Luego el script ubicado en el servidor a monitorear, procede a transformar la cadena (proceso) y pone los espacios en blanco donde corresponde.

El siguiente SCRIPT puede utilizarse para monitorear cualquier proceso que este corriendo en un servidor. Utiliza 3 argumentos, el proceso a monitorear, el usuario con que corre el proceso y el mínimo y máximo de procesos que corren simultáneamente (Formato min:max) :

Publicado en Unix - Linux | Deja un comentario

BASH – Ejecución en paralelo en Bash.-

El procesamiento en paralelo en Bash se refiere a la ejecución simultánea de múltiples tareas o comandos en un script de Bash. Esto permite aprovechar al máximo los recursos disponibles en un sistema y puede acelerar considerablemente la ejecución de un programa o script.

Hay varias formas de lograr el procesamiento en paralelo en Bash. Una de las formas más comunes es utilizando subprocesos en segundo plano (background processes) y el comando wait para esperar a que todos los subprocesos terminen antes de continuar con el script principal.

Aquí hay un ejemplo simple que muestra cómo ejecutar múltiples comandos en paralelo usando subprocesos en segundo plano,

Es importante tener en cuenta que el número de subprocesos en paralelo que se pueden ejecutar al mismo tiempo puede estar limitado por el sistema operativo y los recursos disponibles en el sistema. Además, el procesamiento en paralelo puede introducir complejidad adicional debido a posibles problemas de concurrencia, como la competencia por recursos compartidos. Por lo tanto, es importante diseñar y probar cuidadosamente el uso de procesamiento en paralelo en un script de Bash.

Un ejemplo

Supongamos que tienes una lista de URLs de sitios web y deseas extraer el título de cada página para realizar un análisis posterior. En lugar de procesar cada URL secuencialmente, puedes aprovechar el procesamiento en paralelo para acelerar el proceso. Aquí hay un ejemplo de cómo podrías hacerlo,

Publicado en Unix - Linux | Deja un comentario