J'essaie d'écrire un script bash qui interroge btmon pour les connexions de périphériques. J'ai une solution qui fonctionne, mais c'est absurdement lent, et il semble que le problème soit que grep soit très lent à quitter après avoir trouvé une correspondance (environ 25 secondes). Que puis-je faire pour accélérer grepou éviter complètement de l'utiliser?
#!/bin/bash
COUNTER=0
while :
do
until btmon | grep -m 1 '@ Device Connected'
do :
done
let COUNTER=COUNTER+1
echo on 0 | cec-client RPI -s -d 1
sleep 5
echo as | cec-client RPI -s -d 1
until btmon | grep -m 1 '@ Device Disconnected'
do :
done
let COUNTER=COUNTER-1
if [ $COUNTER -eq 0 ];
then echo standby 0 | cec-client RPI -s -d 1;
fi
done
edit: Pour clarifier, btmonet est un outil de surveillance Bluetooth qui fait partie de la suite Bluez, et cec-client est un utilitaire fourni avec libCEC pour émettre des commandes sur le bus série HDMI-CEC (entre autres).
btmonimplémente le tampon lui-même, auquel cas vous n'avez pas de chance.
btmonsortent? êtes-vous sûr que ce n'est pas seulement une question de mise en mémoire tampon?