Я могу запустить множество узлов erlang из пакетного файла. Но могу ли я передать некоторые аргументы erl, которые заставят его выполнить некоторые команды?
Автоматизируйте узлы оболочки Erlang с помощью пакета unix
comment
похоже, erl -eval решил мою проблему.
- person Yola   schedule 10.10.2011
comment
Возможно, мой ответ на похожие вопросы мог бы помощь.
- person D.Nibon   schedule 10.10.2011
Ответы (2)
Если вы хотите запустить узел и, например, запустить приложение erlang или выполнить несколько строк для запуска узла, вы можете запустить команду erl следующим образом.
erl -eval "application:start(my_app)"
или запуск узла несколькими командами
erl -eval "Res = my_first_module:my_start_fun(MyArg),
my_log:log(Res),
another_module:another_fun(Res)"
то же самое выше, но с переводом узла в фоновый процесс
erl -sname nodename
-setcookie nodecookie
-eval "Res = my_first_module:my_start_fun(MyArg),
my_log:log(Res),
another_module:another_fun(Res)"
-detached
Но если вы хотите запускать erlang более «скриптовым» способом, я предлагаю вам изучить escript и следующий вопрос как предложено D.Nibon
person
Nuno Freitas
schedule
10.10.2011
да. Ты сможешь. Если вы спросите более конкретно, я дам вам более конкретный ответ, если смогу. Это больше похоже на вопрос «erlang», чем на вопрос «bash».
person
f4m8
schedule
10.10.2011
запустить терминал -> запустить erl -> запустить какую-нибудь команду в оболочке erlang (имя_модуля:имя_функции()). Первые два шага я уже могу сделать, но застрял на третьем.
- person Yola; 10.10.2011
Есть ли способ дать команде erl строку, которая будет интерпретирована как команда erlang?
- person f4m8; 10.10.2011