แจ้งการเปลี่ยนแปลงไฟล์ภายใต้ / proc
ฉันเขียน 'daemon' ขนาดเล็กใน bash ที่จะเปลี่ยนเป็นหูฟังหากตรวจพบและหากไม่ได้เปลี่ยนเป็นลำโพง USB ภายนอกด้วย PulseAudio สิ่งที่ฉันกำลังมองหาคือวิธีการรับการแจ้งเตือนการเปลี่ยนแปลงในไฟล์/proc/asound/card0/codec#0เช่นเดียวinotifywaitกับในไฟล์จริง (พิจารณาไฟล์ภายใต้ / proc เป็น "pseudo-files") ฉันพบรหัสของฉันบิตบ้าเพราะมันทำงานsleep 1กับawkทั้งวันนั่นคือ 86400 ครั้งต่อวัน :) while sleep 1; do _1=${_2:-} _2=$(awk '/Pin-ctls/{n++;if(n==4)print}' '/proc/asound/card0/codec#0') [[ ${_1:-} = $_2 ]] || if [[ $_2 =~ OUT ]]; then use_speakers else use_internal fi done สิ่งที่ฉันกำลังมองหาคือสิ่งที่ต้องการ (ตัวอย่างนี้ไม่ทำงาน): codec=/proc/asound/card0/codec#0 while inotifywait …