我编写了以下脚本,该脚本应该在启动时更改目录,然后以 pi 用户身份运行该脚本(在树莓派上):
#!/bin/bash
echo 'raspberry' | sudo su - pi -c 'cd /home/pi/workspace/counting-objects && python3 script.py
如果我运行该脚本,我会收到以下错误:
Traceback (most recent call last):
File "script.py", line 23, in <module>
from custom_module...
ImportError: No module named 'custom_module'
如果我在登录时手动更改文件夹,然后从控制台运行相同的脚本,一切都会按预期进行。
有谁知道如何修复 bash 脚本以便在更改目录后以 pi 用户身份正确运行脚本?
谢谢!
答案1
sudo
完全避开 shell 脚本,因为不需要它而丢弃它,并在pi
用户的 cron 表中添加:
@reboot cd /home/pi/workspace/counting-objects && python3 script.py
以用户身份登录pi
并使用 编辑表crontab -e
。