使用 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 命令时出错的主要内容,如果未能解决你的问题,请参考以下文章
使用 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时出错,求大神解答