Descargas, Descargas
Munin es una herramienta de monitorización que recopila multitud de datos del sistema y los presenta en forma de gráficas incrustadas en una página web. La gran virtud de munin es su extrema sencillez a la hora de instalarlo y configurarlo. Trae de serie una grandísima cantidad de plugins para monitorizar casi cualquier variable del sistema.
En este manual veremos que también es extremadamente sencillo crear nuevos plugins para munin. Como ejemplo crearemos un plugin para monitorizar el consumo de ancho de banda de la aplicación mldonkey.
Ejemplo: básico de condicional if .. then
#!/bin/bash
if [ "TextoPrueba" = "TextoPrueba" ]; then
echo "expresión evaluada como verdadera"
fi
El código que se ejecutará si la expresión entre corchetes es verdadera se encuentra entre la palabra 'then' y la palabra 'fi', que indica el final del código ejecutado condicionalmente.
Ejemplo: Ejemplo básico de condicional if .. then ... else
#!/bin/bash
if [ "TextoPrueba" = "TextoPrueba" ]; then
echo "expresión evaluada como verdadera"
else
Las variables locales pueden crearse utilizando la palabra clave local.
#!/bin/bash
HOLA=Hola
function Prueba {
local HOLA=Mundo
echo $HOLA # IMPRIMIMOS LA VARIABLE "HOLA" Local
}
echo $HOLA # IMPRIMIMOS LA VARIABLE "HOLA"
Prueba #EJECUTAMOS LA FUNCION
echo $HOLA # IMPRIMIMOS LA VARIABLE "HOLA"
Salida:
[root@unidadlocal.com ~]# sh prueba.sh
Hola
Mundo
Hola
[root@unidadlocal.com ~]#
Este ejemplo debería bastar para mostrarle el uso de una variable local.
Ésta es una manera muy sencilla de utilizar tuberías.
ls -l | sed -e "s/[aeio]/u/g" En este caso, ocurre lo siguiente: primero se ejecuta el comando ls -l, y luego su salida, en vez de imprimirse en la pantalla, se envía (entuba) al programa sed, que imprime su salida correspondiente.
Ejemplo: una alternativa a:
ls -l *.txt
Probablemente ésta es una manera más difícil de hacer un ls -l *.txt, pero se muestra para ilustrar el funcionamiento de las tuberías, no para resolver ese dilema.
ls -l | grep "\.txt$"
% Si queremos calcular la inversa de una lista.
% La inversa de una lista vacia es una lista vacia.
% La inversa de H|T es la inversa de T concatenada con H.
inversa([],[]).
inversa([H|T],L):- inversa(T,R), concatenar(R,[H],L).
?- inversa([a,b,c,d],[d,c,b,a]).
Yes
% Utilizando un parametro acumulador.
inver(L1,L2):-inver(L1,L2,[]).
inver([],L,L).
inver([H|T],L,S):-inver(T,L,[H|S]).
?- inver([a,b,c,d],[d,c,b,a]).
Yes
% Si queremos concatenar dos listas lista.
% Concatenar una lista vacia con L es L.
% Concatenar X|L1 con L2 es poner el primer
% elemento de la primera lista (X) más la
% concatenación del resto de la lista (L1) con L2
concatenar([],L,L).
concatenar([X|L1],L2,[X|L3]):-concatenar(L1,L2,L3).
?- concatenar([1,2],[3,4],R).
R = [1, 2, 3, 4].
% Si queremos eliminar un elemento de la lista.
% Si X es la cabeza de la lista, la cola T es la lista sin X
% Si X no es la cabeza de la lista, conservamos la cabeza de la lista
% como parte de la respuesta y continuamos eliminando X de la cola T.
elimina(X,[X|T],T).
elimina(X,[H|T],[H|T1]):- elimina(X,T,T1).
?- elimina(1,[1,2,3,4],R).
R = [2,3,4]
?- elimina(1,R,[2,3]).
R = [1, 2, 3]
R = [2, 1, 3]
R = [2, 3, 1]
% Si queremos hallar la longitud de una lista.
% La longitud de una lista vacia es 0.
% La longitud de cualquier lista es la longitud de la cola + 1.
longitud([],0).
longitud([H|T],N):-longitud(T,N0), N is N0 + 1.
?- longitud([a,b,c],L).
3
?- longitud([a,b,c],4).
No
% La sintaxis es factorial(N, F) -> Factorial de N es F (el resultado se guarda en F)
factorial(0, 1) :- !.
factorial(N, F) :- N1 is N - 1, factorial(N1, F1), F is N*F1.
%el factorial se llama recursivamente dejando el resultado en F
% Recursividad
%Serie de Fibonacci
%1,1,2,3,5,8,13,21,34,55,.......
% Prolog no permite poner operaciones dentro de los argumentos ya que prolog funciona por comparacion
%no puede hacer las operaciones al momento, hay que hace la operacion antes
%y se asigna a una variable mediante la palabra reserveda is
fibonacci(1,1).
fibonacci(2,1).
fibonacci(P,Z):-P>2,Q is P-1,fibonacci(Q,A),R is P-2,fibonacci(R,B),Z is A+B.
%Serie de Fibonacci
%F(n + 1) = F(n) + F(n - 1)
%1,1,4,7,19,40,....
fibonacci(P,Z):-P>3
,Q is P-1
,fibonacci(Q,A)
,R is P-2
,fibonacci(R,B)
|
Comentarios recientes
hace 7 semanas 3 días
hace 19 semanas 5 días
hace 21 semanas 2 días
hace 21 semanas 5 días
hace 22 semanas 1 día
hace 22 semanas 5 días
hace 24 semanas 1 día
hace 26 semanas 4 días
hace 36 semanas 4 días