Bash 脚本找不到命令,但命令可以在我的 bash 中执行

Bash 脚本找不到命令,但命令可以在我的 bash 中执行

我有一个 Python 脚本,如果崩溃了,我想重新启动它。因此,我在 /usr/local/bin/starter 中创建了一个 Bash 启动脚本,用于启动和重新启动 Python 脚本

这是启动脚本:

#!/usr/bin/env bash
until myPythonScript; do
    sleep 1s;
done

我通过@reboot(cronjob)运行此启动脚本。

我的 Python 脚本也位于 /usr/local/bin/myPythonScript,因此我只需键入 即可启动它myPythonScript

现在我的问题是,我收到错误消息,提示我/usr/local/bin/starter找不到命令myPythonScript。有人知道原因吗,我该如何解决这个问题。

答案1

使用完整路径。如果您使用的是 crontable,则 cron 不会具有与您相同的环境(包括路径)。

您可能还会考虑 inittab。它可以确保进程正在运行,如果不存在则重新启动。

相关内容