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 grep
atau 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, btmon
dan 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).
btmon
mengimplementasikan buffering sendiri, dalam hal ini Anda kurang beruntung.
btmon
dihasilkan? apakah Anda yakin itu bukan hanya masalah buffering?