Salut,
Je suis sous i3-wm et comme j'ai un PC portable j'ai mis un script qui se lance toutes les 5 minutes pour avoir un avertissement quand la batterie est inférieure à 15% (Tenez pas compte des 4 variables en commentaire pour l'instant)
#!/bin/bash
BATTINFO=`acpi -b`
#nombre=`grep -o Battery test | wc -l`
#field=4
#cutin=1*$nombre
#cutdeux=1*$nombre
if [[ `echo $BATTINFO | grep Discharging` && `echo $BATTINFO | grep Discharging | cut -f 4 -d " " | cut -c 1-2 | tr -d %` -lt 16 ]] ; then
DISPLAY=:0.0 /usr/bin/notify-send -i /home/machin/Images/battery-empty.png "Batterie faible!" "$BATTINFO"
fi
En gros, ce script regarde si la batterie est en train de se décharger avec la commande acpi -b et si c'est le cas elle récupère le pourcentage restant, supprime le "%" de la valeur et regarde si elle est inférieur à 16.
Le problème, c'est que quand je branche ma dualshock 4 sur mon PC j'ai un nouvel appareil à 0% de batterie qui apparait quand je fais acpi -b et la sortie de la commande devient alors:
Battery 0: Full, 0%, rate information unavailable Battery 1: Discharging, 31%, 01:20:42 remaining
Ce qui fait que ce script trouve 0 en valeur j'ai donc un avertissement Batterie faible toutes les 5 minutes...
Pour pallier à ce problème, j'ai essayé de créer une variable field, cutin et cutdeux ( en commentaire) qui remplaceront 4, 1 et 2 et qui dépendront du nombre de fois que le mot "Battery" est présent dans la sortie de acpi -b. Mais en créant la variable nombre qui compte le nombre de fois que y'a Battery je me suis rendu compte que faire nombre=`grep -o Battery test | wc -l` ne donne pas la valeur 2 à nombre mais la commande et "`grep -o Battery test | wc -l" me fout une chaîne de caractère. Comment faire du coup ?
Message édité le 18 mars 2019 à 22:45:24 par Pseudo supprimé