ERL:从 shell 执行 erl 命令

ERL: execute erl command from shell

所以这就是我想要的 - 从 bash shell:

执行以下迷你脚本
mnesia:change_table_copy_type(schema, node(), disc_copies).

我正在尝试找出可能性,但找不到明确的答案。有一个“-noshell”选项,或“-oldshell”选项,但其中 none 说明了如何执行上述任何命令。

我该怎么做?

为此,您可以使用 -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