定时 bash 脚本不起作用

Timed bash script doesn't work

我有以下 bash 脚本,它应该会在我调用脚本几分钟后启动一些进程:

#!/bin/bash
echo forever start -c php /opt/leser.php -f xo.xy.xs.php | at now + 15 min
echo forever start -c php /opt/Price.php -f xo.xy.xs.php | at now + 18 min

脚本名为startup.sh,我用

调用它

sh startup.sh

我得到的反应是

startup.sh: 2: startup.sh: at: not found
startup.sh: 3: startup.sh: at: not found

我真的不明白为什么。给定的路径是正确的,并且永远在全球范围内运行。

有人可以帮我解决我做错的事吗?

at 是一个外部命令。由于某种原因,它在被引用时不在 PATH 上。你最好的选择是明确地调用它,比如

echo forever start -c php /opt/Price.php -f xo.xy.xs.php | /usr/bin/at now + 18 min

旁注:如果脚本的第一行是 #!/bin/bash,您应该使用 bash 调用它,而不是 `sh.