maxwatt Asked: 2020-04-16 12:58:12 +0800 CST2020-04-16 12:58:12 +0800 CST 2020-04-16 12:58:12 +0800 CST 每次插入 USB 设备时,如何运行 Bash 脚本? 772 我使用的是 Ubuntu 18.04,每次插入新的 USB 设备(与设备类型相互依赖)时,我都需要运行一个 Bash 脚本。 PS:我发现其他答案可以适用于指定的 USB 设备,但我需要适用于任何可能的 USB 设备。 bash usb 18.04 1 个回答 Voted Best Answer user986805 2020-04-16T13:26:23+08:002020-04-16T13:26:23+08:00 从 udev 规则启动 systemd .service udev monitor允许您监视内核 uevents 并将 devpaths 打印到控制台,然后可以用于udevadm info -a --path=''打印链上所有设备的所有 sysfs 属性。 udevadm monitor --environment --udev允许您在规则处理后监视由 udev 事件设置的环境变量。 $ cat /etc/udev/rules.d/99-usb-autorun.rules # Start USB autorun systemd .service ENV{DEVTYPE}=="usb_device", \ TAG+="systemd", ENV{SYSTEMD_WANTS}="usb_autorun.service" (不要忘记重新加载您的规则udevadm control --reload && udevadm trigger)。 ...和/etc/systemd/system/usb_autorun.service: [Unit] Description=USB Autorun. [Service] Type=oneshot ExecStart=/opt/bin/usb_autorun.sh
从 udev 规则启动 systemd .service
udev monitor
允许您监视内核 uevents 并将 devpaths 打印到控制台,然后可以用于udevadm info -a --path=''
打印链上所有设备的所有 sysfs 属性。udevadm monitor --environment --udev
允许您在规则处理后监视由 udev 事件设置的环境变量。(不要忘记重新加载您的规则
udevadm control --reload && udevadm trigger
)。...和/etc/systemd/system/usb_autorun.service: