ERL:从 shell 执行 erl 命令

Posted

技术标签:

【中文标题】ERL:从 shell 执行 erl 命令【英文标题】:ERL: execute erl command from shell 【发布时间】:2016-09-14 13:49:02 【问题描述】:

这就是我想要的 - 从 bash shell 执行以下迷你脚本:

mnesia:change_table_copy_type(schema, node(), disc_copies).

我试图找出可能性,但找不到明确的答案。有一个“-noshell”选项,或者,“-oldshell”选项,但它们都没有说明如何执行上述任何命令。

我该怎么做?

【问题讨论】:

试试erl -noshell -eval 'mnesia:change_table_copy_type(schema, node(), disc_copies)' -run init stop 谢谢 Dogbert,这行得通! 【参考方案1】:

您可以为此使用-noshell-eval "mnesia:change_table_copy_type(schema, node(), disc_copies)"。您还必须在此之后传递 -run init stop 以确保 Erlang VM 在运行命令后停止,否则即使在评估 -eval 代码后 VM 仍将继续运行。

erl -noshell -eval "mnesia:change_table_copy_type(schema, node(), disc_copies)" -run init stop

【讨论】:

以上是关于ERL:从 shell 执行 erl 命令的主要内容,如果未能解决你的问题,请参考以下文章

`erl -make` 命令是不是可以扩展来执行编译 .erl 文件以外的操作?

将命令传递给erl?

从 Javascript(电子)执行 Erlang shell 命令不返回任何输出

erl模块翻译

如何在不中止 erl 的情况下中止 Erlang shell (erl) 中的接收语句?

使用 unix 批处理自动化 Erlang shell 节点