使用 Erlang 构建执行 .sh 命令时出错

Posted

技术标签:

【中文标题】使用 Erlang 构建执行 .sh 命令时出错【英文标题】:Error executing .sh command using Erlang build 【发布时间】:2021-10-08 02:34:51 【问题描述】:

执行命令时出现这样的错误。如何解决此错误?

Erlang 版本:22.3 操作系统:Centos OS 7

"init terminating in do_boot",badmatch,error,1,erl_parse,["syntax error before: ","','"],[init,start_it,1,[],init,start_em,1,[],init,do_boot,3,[]]
init terminating in do_boot (badmatch,error,1,erl_parse,[_],[init,start_it,1,[],init,start_em,1,[],init,do_boot,3,[]])

正在将故障转储写入:erl_crash.dump...done

【问题讨论】:

可以分享一下do_boot函数的细节吗? 我的猜测是dev.sh-eval 参数传递给Erlang,但-eval 参数有语法错误。可以分享dev.sh的内容吗? @legoscia 我在下面分享了它,你能帮我吗,让它工作。谢谢。 @legoscia 我在下面分享了它,你能帮我吗,让它工作。谢谢。 @NalinRanjan 我在下面分享了它,你能帮我吗,让它工作。谢谢。 【参考方案1】:

是语法错误,调试不难。 您应该有源代码并检查程序并在必要时编写一些调试语句。

【讨论】:

我在下面分享了它,你能帮我吗,让它工作。谢谢。【参考方案2】:

很可能 $1 和 $option 没有解析到正确的值...

当我尝试以下命令时,试图模拟可能作为 shell 脚本的一部分执行的内容,我得到了和你一样的错误......

$ erl -noshell -pa /tools_core/ebin -pa ./ebin -eval "make:all(),gen_data:gen(,)" -s c q
"init terminating in do_boot",badmatch,error,1,erl_parse,["syntax error before: ","','"],[init,start_it,1,[],init,start_em,1,[],init,do_boot,3,[]]
init terminating in do_boot (badmatch,error,1,erl_parse,[_],[init,start_it,1,[],init,start_em,1,[],init,do_boot,3,[]])

Crash dump is being written to: erl_crash.dump...done

因此,您很可能应该检查它们解析为什么值。如果它们解析为空值,则 erlang 解析将失败。既然它说 before ,,我怀疑是 $1 的分辨率没有正常发生。

您能否回应这些值并让我们知道它们的解决方案是什么?

最有可能的是,$1 应该采用在调用此 shell 脚本时传递的命令行参数。既然是你的环境,不能多说。但请尝试分享 $1 在您的情况下解决的问题。

【讨论】:

以上是关于使用 Erlang 构建执行 .sh 命令时出错的主要内容,如果未能解决你的问题,请参考以下文章

构建命令失败。执行过程时出错

jenkins跳过shell执行错误

使用 PhoneGap/Cordova 为 Android 构建时,在 Mac OS X 10.9 Mavericks 上执行命令“ant”时出错

格式:“读取 /opt/ejabberd/.erlang.cookie 时出错:eacces”

安装keystone执行命令su -s /bin/sh -c "keystone-manage db_sync" keystone时出错,求大神解答

执行命令时出错:mvn test。原因:退出状态 1 - AWS