我有以下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
我无法理解为什么。给出的路径是正确的,永远全局运行。
有人能帮我解决我做错的事吗?
答案 0 :(得分:3)
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。