bash中带有crontab的Python脚本不';如果没有crontab,它就不能工作

bash中带有crontab的Python脚本不';如果没有crontab,它就不能工作,bash,shell,cron,crontab,Bash,Shell,Cron,Crontab,我有一个bash脚本,用我的覆盆子pi相机拍照,用python脚本测量湿度和温度 #!/bin/bash raspistill -o /var/www/image.jpg -t 1000 python Adafruit_Python_DHT/examples/AdafruitDHT.py 2302 4 | tr -s ' ' | grep -o '[0-9]\+\.[0-9]\+' > /var/www/sensor.out 如果我正常执行bash脚本,它就会工作,但是如果我将它放在c

我有一个bash脚本,用我的覆盆子pi相机拍照,用python脚本测量湿度和温度

#!/bin/bash

raspistill -o /var/www/image.jpg -t 1000
python Adafruit_Python_DHT/examples/AdafruitDHT.py 2302 4 | tr -s ' ' | grep -o '[0-9]\+\.[0-9]\+' > /var/www/sensor.out
如果我正常执行bash脚本,它就会工作,但是如果我将它放在crontab(作为root)中,它仍然会执行第一行,但第二行返回一个空文件。它删除但不替换旧信息

pi@rpi ~ $ sudo crontab -e
 GNU nano 2.2.6                              File: /tmp/crontab.Y0eieF/crontab

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/pi


*/1 *  *   *   *     /home/pi/testcron.sh

我不知道为什么它不起作用,可能是因为命名管道吗?

脚本中指定了一个相对路径,但没有从cronjob的主目录开始。在bash脚本中使用绝对路径

使用第二行中输入文件的绝对路径。通常,在cronjob中,shell环境非常简单。您无法获取用户的环境。尝试将重定向到文件的“set”命令作为cronjob运行,以查看其外观。这将帮助您调整脚本以正确工作。哦,在尝试让cron工作后,我忘记了路径。谢谢你的帮助:)