Script – Declarar una matriz bidimensional mediante una matriz asociativa en Bash.-

Este método es un poco complejo. Este método discutirá una matriz especial de secuencias de comandos Bash denominada matriz asociativa.

Una matriz asociativa es una matriz especial que puede almacenar un valor de cadena como clave o índice. Es similar a los otros lenguajes de programación.

La sintaxis general para declarar una matriz asociativa es declare -A ArrayName.

Nuestro ejemplo a continuación creará una matriz 2D que contiene cinco filas y seis columnas. A continuación se muestra el código de nuestro ejemplo.

En el ejemplo anterior, declaramos una matriz asociativa llamada Array2D.

Después de eso, creamos dos variables y les asignamos un valor entero. Este valor entero especifica el número de filas y columnas.

Luego creamos un ciclo anidado que llenó la matriz con el número aleatorio.

Ahora hemos terminado de declarar y organizar la matriz. Es hora de ver cómo se ve nuestra matriz 2D.

Lo hacemos usando algunos bucles, como se ve en el código. Cuando ejecute el script anterior, verá un resultado como el siguiente.

Publicado en Unix - Linux | Deja un comentario

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.

[crayon-68679c1167843091092419/]

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 :

[crayon-68679c1167867641504148/]
Publicado en Unix - Linux | Deja un comentario

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

[crayon-68679c1167b47863841408/]

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

[crayon-68679c1167b53774757351/]

Al ejecutarlo obtendriamos lo siguiente :

[crayon-68679c1167b59790065195/]

De todas maneras, en ninguno de los casos le pasas el array como parametro. 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.-

[crayon-68679c1167e24658846626/]
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 minomo y maximo de procesos que corren simultaneamente (Formato min:max) :

[crayon-68679c1168150088301860/]
Publicado en Unix - Linux | Deja un comentario