我创建了一个必须在启动时执行的脚本,并且必须在执行其他命令之前运行另一个脚本(它设置一些变量)。
编写脚本后,我已经在控制台中成功执行了它,但是如果将脚本添加到 crontab 中,则该脚本中的其他脚本不会被执行。
已添加到 crontab 的脚本(main-script.sh)如下:
#!/bin/bash
source /home/pi/test-script.sh
python mycustompythonscript.py
test-script.sh 如下(我用这个脚本替换了实际脚本进行测试):
#!/bin/bash
echo "greetings from test script" > test.txt
因此,当我从控制台运行 main-script.sh 时,将执行 test-script.sh (创建文件)并执行 python 脚本。然而,重新启动 RPi 后,会执行 python 脚本,但不会执行 test-script.sh(不会创建 test.txt 文件)。
有谁知道如果 cron 执行 main-script.sh 则不执行 test-script.sh 的可能原因是什么?
答案1
您需要指定 的绝对路径test.txt
。它不会把它放在你期望的地方。
找到sudo find / -iname "test.txt"
它。
(Python 脚本还应该有完整路径名。)