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 grep
ou é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, btmon
et 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).
btmon
implémente le tampon lui-même, auquel cas vous n'avez pas de chance.
btmon
sortent? êtes-vous sûr que ce n'est pas seulement une question de mise en mémoire tampon?