Tôi đang cố gắng viết một tập lệnh bash để thăm dò btmon cho các kết nối thiết bị. Tôi đã có một giải pháp hiệu quả, nhưng nó chậm một cách vô lý và có vẻ như vấn đề là grep rất chậm thoát ra sau khi tìm thấy một trận đấu (khoảng 25 giây). Tôi có thể làm gì để tăng tốc grep
hoặc tránh sử dụng nó hoàn toàn?
#!/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
chỉnh sửa: Để làm rõ btmon
và là một công cụ giám sát bluetooth là một phần của bộ Bluez và cec-client là một tiện ích được đóng gói với libCEC để phát lệnh trên bus nối tiếp HDMI-CEC (trong số những thứ khác).
btmon
thực hiện đệm chính nó, trong trường hợp bạn không gặp may.
btmon
đầu ra? bạn có chắc không chỉ là vấn đề đệm?