ERL: выполнить команду erl из оболочки
Вот что я хочу - выполнить следующий мини-скрипт из оболочки bash:
mnesia:change_table_copy_type(schema, node(), disc_copies).
Я пытаюсь выяснить возможности, но не могу найти четкого ответа. Есть опция "-noshell" или "-oldshell", но ни одна из них не говорит, как выполнить какую-либо команду, подобную приведенной выше.
Как я могу это сделать?
1 ответ
Решение
Ты можешь использовать -noshell
с -eval "mnesia:change_table_copy_type(schema, node(), disc_copies)"
за это. Вам также придется пройти -run init stop
после этого, чтобы убедиться, что Erlang VM останавливается после выполнения команды, или VM продолжит работать даже после оценки -eval
код.
erl -noshell -eval "mnesia:change_table_copy_type(schema, node(), disc_copies)" -run init stop