Bash 在/etc/Monit.d中读取shell脚本时出现Monit语法错误/

Bash 在/etc/Monit.d中读取shell脚本时出现Monit语法错误/,bash,shell,monit,Bash,Shell,Monit,试图通过shell脚本运行PHP脚本,并在读取shell脚本时不断从Monit获取“语法错误” launchQueue.sh #!/bin/sh php /var/app/current/hello.php shell脚本将自己运行,我已经打开了所有权限。Monit从自己的目录/etc/Monit.d/*-调用它,当Monit启动时,该目录应该运行其中的所有文件 确切错误为:/etc/monit.d/launchQueue.sh:2:error:syntax error'php' 我已经按照建

试图通过shell脚本运行PHP脚本,并在读取shell脚本时不断从Monit获取“语法错误”

launchQueue.sh

#!/bin/sh
php /var/app/current/hello.php
shell脚本将自己运行,我已经打开了所有权限。Monit从自己的目录/etc/Monit.d/*-调用它,当Monit启动时,该目录应该运行其中的所有文件

确切错误为:/etc/monit.d/launchQueue.sh:2:error:syntax error'php'

我已经按照建议将它移出monit.d,但是我得到了相同的错误。 运行Monit版本5.2.5

Monit有自己的路径,而且路径非常小。您应该提供php可执行文件的完整路径,或者在脚本中重新定义路径

根据您的位置尝试使用tune

!/垃圾箱/垃圾箱
/usr/bin/php/var/app/current/hello.php

我发现了问题所在,这主要是因为我自己不知道如何使用终端。我是个新手。我安装了SupervisorD,遇到了类似的问题。事实证明,我的根$PATH不包括普通用户$PATH。一旦我将路径导出到root,它就可以正常运行了

你错过了比赛!进来/宾/什,首先,我有!在那个里,在堆栈中插入它时,它是一个类型。您的错误指的是launchQueue.sh,但您的示例显示的是launchHello.sh。此处显示的内容是否与导致此错误的文件相同?您确定上一行末尾没有隐藏的回车符吗\r您可以使用od-a检查并在输出中查找cr?另外,请查看Ya,抱歉。launchQueue=launchHello-这是漫长的一天。这占据了它的大部分。。。你提到的堆栈问题就是我说的,我已经从monit.d.中删除了sh脚本。我尝试了这个,但没有成功。我想我在答案中找到了答案。