【发布时间】:2023-03-09 01:10:01
【问题描述】:
我的目标是在插入 USB 闪存驱动器时运行 Python 脚本。我已经编写了一个 udev 规则和一个在该规则中调用的 shell 脚本。
udev 规则:/etc/udev/rules.d/10-usb.rules
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", RUN+="/home/Hypotheron/Desktop/script.sh"
script.sh:
#!/bin/sh
echo 'Hello, world.' > /home/Hypotheron/Desktop/foo.txt
#/home/Hypotheron/Desktop/job.py & exit
我的 Python 文件的第一行是:
#!/usr/bin/python
我还执行了以下命令:
chmod +x job.py
chmod +x script.sh
在 script.sh 中,当写入 foo.txt 的行未注释时,每次插入闪存驱动器都会创建 foo.txt 文件。
当我注释该行并取消注释运行 Python 文件的行时,它不起作用。
通过终端运行 script.sh 在这两种情况下都有效,但在插入闪存驱动器时,只有 foo.txt 案例有效。
任何帮助将不胜感激。
【问题讨论】: