Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
agi bin中的Bash脚本无法执行-星号_Bash_Scripting_Asterisk_Telephony - Fatal编程技术网

agi bin中的Bash脚本无法执行-星号

agi bin中的Bash脚本无法执行-星号,bash,scripting,asterisk,telephony,Bash,Scripting,Asterisk,Telephony,我正在尝试从拨号计划中执行bash脚本。bash脚本来自/var/lib/asterisk/agi-bin中的目录projectFiles。当我尝试执行脚本时,如下所示: 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:

我正在尝试从拨号计划中执行bash脚本。bash脚本来自
/var/lib/asterisk/agi-bin
中的目录
projectFiles
。当我尝试执行脚本时,如下所示:

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作为所有者和组
。我哪里会出错

欢迎任何帮助,

Sriram.

agi bin中的脚本,
main.sh
未成功执行。因此出现了错误消息。
main.sh
中的一行将输入参数的
$1
复制到当前工作目录中,我假设该目录与脚本所在的目录相同<星号的代码>$HOME是
/etc
(以及它执行所有脚本的位置)。下面是一行:

cp $1 .

$1
复制到
/etc
。这导致了剧本的进一步混乱。更改该行使一切正常。

我遇到了相同的问题,并找到了另一个原因,这可能是常见的:
我已经在Windows上创建了脚本,并以二进制模式复制过来。文本文件的每一行尾都包含隐藏的^M。我把它们都拿走了,一切都很好!错误信息当然是极其误导的

您显示了所有权,那么权限呢?您是否已执行了
chmod ug+x main.sh
以使其可执行?@Dennis:是的,此脚本具有755权限可执行。当您手动运行命令时会发生什么情况,正如错误消息中引用的那样?如果星号表示它不是零,那很可能意味着脚本中发生了错误。@payne:这就是问题所在。请参阅下面我对这个问题的答案。是否有办法查看使用系统命令从dialplan调用脚本时返回的值?这可能会使我在将来避免犯这些错误。@Sriram,仅供使用。它的工作原理与系统命令类似,但返回脚本结果。