我正在尝试从我的拨号方案中执行bash脚本。 bash脚本来自projectFiles
中的目录/var/lib/asterisk/agi-bin
。当我尝试执行脚本时,如下所示:
exten => 0,n,System(/var/lib/asterisk/agi-bin/projectFiles/main.sh ${RECORDED_FILE}.wav ${SOUND_PATH}/menus/wav2.wav)
我最终得到以下错误:
WARNING[27515]: app_system.c:125 system_exec_helper: Unable to execute '/var/lib/asterisk/agi-bin/projectFiles/main.sh /tmp/rec62.wav /var/lib/asterisk/sounds/en/projects/menus/wav2.wav'
== Spawn extension (test-project, 0, 5) exited non-zero on 'DAHDI/15-1'
脚本main.sh
的权限设置为asterisk as owner and group
。我哪里可能出错?
非常欢迎任何帮助,
斯利拉姆。
答案 0 :(得分:0)
我遇到了同样的问题并找到了另一个可能很常见的原因: 我在Windows上创建了脚本,并以二进制模式复制。文本文件在每一行包含隐藏的^ M.我删除了所有这些,一切都很好!错误信息当然极具误导性!
答案 1 :(得分:-1)
agi-bin中的脚本main.sh
未成功执行。因此错误消息。 main.sh
中的一行复制了当前工作目录的输入参数的$1
,我假设它与放置脚本的目录相同。 {* 1}}用于星号(以及执行所有脚本的位置)$HOME
。所以,如下所示:
/etc
会将cp $1 .
复制到$1
。这导致脚本进一步恶化。改变这一行可以使一切正常。