ดังนั้นฉันกำลังพยายามที่จะได้รับ udev
ทำบางสิ่ง (เริ่ม airmon-ng) หลังจากฉันเชื่อมต่อการ์ดเครือข่ายไร้สาย USB เฉพาะ แต่ฉันมีปัญหาในการทำให้สคริปต์แบบอินไลน์ทำงาน สามารถทำซ้ำปัญหาได้โดยใช้ตัวอย่างง่ายๆดังต่อไปนี้:
สร้างสคริปต์ปฏิบัติการต่อไปนี้ /test.sh
:
#!/bin/sh
echo hello > /tmp/test.txt
สร้างไฟล์ต่อไปนี้ /etc/udev/rules.d/85-auto-monitor.rules
:
# This works:
ACTION=="move", KERNEL=="wlx8416f91a5ed3", RUN+="/test.sh"
# This does not work:
# ACTION=="move", KERNEL=="wlx8416f91a5ed3", RUN+="sh -c 'echo hello > /tmp/test.txt'"
ใช้คำสั่งต่อไปนี้เพื่อรีโหลด .rules
ไฟล์:
sudo udevadm control --reload
ฉันไม่เข้าใจว่าทำไมสคริปต์ภายนอกทำงานได้ แต่ไม่ใช่สคริปต์แบบอินไลน์ สคริปต์แบบอินไลน์ทำงานได้ถ้าฉันเรียกใช้ในเทอร์มินัลของฉัน
คัดลอกมาจาก stackoverflow.com/questions/43116996/...
—
Andreas
ใช้เส้นทางที่แน่นอน
—
Alex P.