I'm trying to write a bash script that polls btmon for device connections. I've got a working solution, but it's absurdly slow, and it seems like the issue is grep being very slow to exit after finding a match (around 25 seconds). What can I do to either speed
grep up or avoid using it altogether?
#!/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: To clarify,
btmon and is a bluetooth monitoring tool that's part of the Bluez suite, and cec-client is a utility that's packaged with libCEC for issuing commands across the HDMI-CEC serial bus (amongst other things).