我试图构建一个在 wifi 连接或断开连接时运行的脚本。经过大量搜索后,我得到了wpa_cli -a
使用我的脚本的命令。
测试文件
case "$1" in
wlan0)
case "$2" in
CONNECTED)
echo WIFI is CONNECTED "$WPA_ID" > output
#sudo python ./do.py
;;
DISCONNECTED)
echo WIFI is Disconnected "$WPA_ID" > output
;;
*)
>&2 echo empty or undefined event for wlan0: ""
exit 1
;;
esac
;;
esac
我通过运行命令测试了脚本sudo wpa_cli -a /home/pi/test.sh
。我断开了 wifi 并检查了输出文件,它包含“WIFI 已断开消息”。通过连接 wifi 来完成类似的检查,我们观察到“WIFI已连接”消息。
但是当我尝试wpa_cli
在守护进程模式下运行该命令时,它不起作用。我已经使用了命令sudo wpa_cli -a /home/pi/test.sh -B
。但这次如果我连接或断开 wifi,输出文件没有变化。
但是当 i 时ps aux|grep test.sh
,它显示脚本正在运行。
答案1
我已经得到答案了。当我使用守护进程模式运行时sudo wpa_cli -a /home/pi/test.sh -B
,我检查了错误的输出文件(在主目录中)。在echo中,我没有提到文件输出的正确路径,所以会重定向到output
根/
目录下的文件。
谢谢大家