Saya mencoba menulis skrip bash yang memilih btmon untuk koneksi perangkat. Saya punya solusi yang berfungsi, tetapi ini sangat lambat, dan sepertinya masalahnya adalah sangat lambat untuk keluar setelah menemukan kecocokan (sekitar 25 detik). Apa yang bisa saya lakukan untuk mempercepat grepatau menghindari menggunakannya sama sekali?
#!/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
sunting: Untuk memperjelas, btmondan merupakan alat pemantauan bluetooth yang merupakan bagian dari paket Bluez, dan cec-client adalah utilitas yang dikemas dengan libCEC untuk mengeluarkan perintah di bus serial HDMI-CEC (di antara hal-hal lain).
btmonmengimplementasikan buffering sendiri, dalam hal ini Anda kurang beruntung.
btmondihasilkan? apakah Anda yakin itu bukan hanya masalah buffering?