critical bilbo… ¿Esta es de un banco de semilla vasco no? Conozco bien la critical mass… mucha producción, rápida y buen sabor.
Sabías que la critical mass fue creada por Mister Nice? este hombre es una fuente de inspiración
Dejame media hora para ponerte lo más claro que puedo… ¿ okay? haz te uno de critical bilbo y vuelves por aquí en media hora, te pondré unas exlicacion sobre como funciona esta linea y que es lo qu hace
empezamos por el inicio (mejor así… ¿no? )
lo primero que tienes en esta linea es un bucle “until”.
Lo que significa en inglés y informática “hasta”
Para entenderlo es mejor escribir lo sobre varias lineas…
así se redacta un búcle until
until condición ] ;
do
ordenes
done
las palabras en rojo son como palabras lógicas que estructuran tu bucle. Son asi y siempre tienen que ser así
si tarduces en español te daría algo asi
Hasta que la condición definida se cumple/verifica ]
haz
esta secuencia de ordenes que estoy definiendo
fin de mi bucle
En la linea de ordenes que te he dado hacemos esto
until cat /sys/class/power_supply/BAT*/capacity
-lt 10 ] ;
do
sleep 1m
done
primera linea
until `cat /sys/class/power_supply/BAT*/capacity` -lt 10 ];
… si pruebas cat /sys/class/power_supply/BAT*/capacity
obtienes en consola el procentaje de carga de tu bateria
ves que tengo entre los ganchos entonces un valor entre 0 y 100 (0% vacía, 100% llena del todo)
al lado tengo -lt que singifca “más pequeño o igual” y luego tengo 10
Esta es mi condición y mi condición dice :
“Hasta que valor carga de mi bateria - lt (sea mas pequeño o igual) - 10 ]”
segunda y tercera linea
do
sleep 1m
do es “hacer” y es una plabra que estructura el bucle, luego viene la orden a ejecutar que es “sleep 1m”
sleep 1m es “dormir 1 minuto”, tu consola, tu script, tu script se queda en suspenso 1 minuto, no hace nada
cuarta linea:
done
es una instrucción de cierre. ciera tu bucle.
Una vez que llegas a done, vuelves a until para reempezar
entonces lo que haces con este bucle es… nada.
el bucle duerme 1 minuto y vulkeve a empezar.
Y seguira asi hasta que el valor de carga de la bateria sea inferior o gal 10 (condición que has definido)
muy tonto…
Cuando llegaras a 10 o menos, "saldras del bucle, no volvera al incio ( untill)
Esta acabado porque lka condición que definiste se ha cumplido
entonces pasara a lo siguiente y lo siguiente es esta el final de linea de ordenes
xterm -hold -e echo "batería a punto de agotarse"
xterm te habré una consola segundaría y con la orden echo va a poner el mensaje que quieres (en este caso “batería a punto de agotarse”)
la mecánica entonces es esta:
haces un bucle que da vuelta sobre si mismo con pausas de un minuto hasta que el nivel de tu batería sea inferior o igual a 10
Una vez que el nivel es inferior o igual a 10 tu bucle ha cumplido su oficio y se ejecuta la orden xterm
desenchufo mi batería y pongo la linea con valor 99 como limite, en un par de minutos se me saldrá la advertencia