ฉันกำลังพยายามเขียนสคริปต์ทุบตีที่สำรวจ btmon สำหรับการเชื่อมต่ออุปกรณ์ ฉันมีวิธีแก้ปัญหาการทำงาน แต่มันช้าอย่างไร้เหตุผลและดูเหมือนว่าปัญหาคือ grep ช้ามากที่จะออกหลังจากพบการแข่งขัน (ประมาณ 25 วินาที) ฉันจะทำอย่างไรเพื่อเร่งความเร็วgrep
หรือหลีกเลี่ยงการใช้งานพร้อมกัน?
#!/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
แก้ไข: เพื่อให้ชัดเจนbtmon
และเป็นเครื่องมือตรวจสอบบลูทู ธ ซึ่งเป็นส่วนหนึ่งของชุด Bluez และ cec-client เป็นโปรแกรมที่บรรจุด้วย libCEC สำหรับการออกคำสั่งผ่านบัสอนุกรม HDMI-CEC (ท่ามกลางสิ่งอื่น ๆ )
btmon
การดำเนินการบัฟเฟอร์ตัวเองซึ่งในกรณีที่คุณโชคไม่ดี
btmon
เอาท์พุท"สิ่ง" เท่าไหร่? คุณแน่ใจหรือว่าไม่ใช่เรื่องของการบัฟเฟอร์?